Я пытаюсь «подцепиться» к сообщениям окна, чтобы обнаружить минимизацию/максимизацию. Я осмотрелся и думаю, что единственное/лучшее решение для этого - подключиться к сообщениям окна и проверить сообщение WM_WINDOWPOSCHANGED, а затем проверить его статус.
Я столкнулся с проблемой.
System.Windows.Interop.HwndSource source = System.Windows.Interop.HwndSource.FromHwnd(System.Diagnostics.Process.GetProcessesByName("notepad")[0].MainWindowHandle);
System.Windows.Interop.HwndSourceHook hook = new System.Windows.Interop.HwndSourceHook(WndProc);
source.AddHook(hook);
Это даст мне «Ссылка на объект не установлена на экземпляр объекта». ошибка в "source.AddHook...". При постановке брейкпойнта также становится ясно, что исходная переменная имеет значение null. Другими словами: не удается получить HwndSource в первой строке.
Я знаю, что это возможно с помощью «WindowInteropHelper», но это когда у вас есть фактическое окно как доступное Windows.Window, но в моей ситуации я этого не делаю.
Будем очень признательны за любые обходные пути/решения,
Рене Сакерс.
P.S. Я на 100% уверен, что Блокнот запущен, когда код выполняется, и ему удается найти его и его дескриптор главного окна.