Узнайте, на что направлен фокус после закрытия приложения, запущенного с помощью Process.Start - PullRequest
0 голосов
/ 22 февраля 2020

У меня есть DLL, которая использует Process.Start(notepad exe path) для запуска экземпляра блокнота или WordPad (я использую оба). Когда экземпляр закрывается при получении сообщения WM_CLOSE (голосом), экземпляр закрывается нормально.

Однако, поскольку экземпляр был создан с помощью Process.Start, а не через механизм parent-child Windows .Forms фокус не возвращается автоматически к родительскому окну, потому что Process.Start не имеет родительского окна. В моем случае DLL без COM-объекта делает вызов Process.Start.

Я искал ответы net, но не нашел ни одного. Я предполагаю, что кто-то, какой-то контроль, где-то имеет фокус. Мое лучшее предположение - рабочий стол. Я все еще вижу самое верхнее окно (это очевидно), но оно открывается только потому, что я закрыл экземпляр Notepad, который был над ним. Самое верхнее окно также выглядит как окно переднего плана (текст строки заголовка не выделен серым цветом). Но это не похоже на то, что у него есть фокус (Дракон не будет диктовать это).

Может кто-нибудь дать однозначный ответ о том, куда направляется фокус в подобном случае, или указать мне правильное направление найти окончательный ответ?

...