Как украсть фокус в Windows 10

У меня есть приложение (Openedge), которое получает сообщение сокета, инициированное нажатием клавиши в другом приложении. Когда сообщение получено, я ожидаю, что принимающий процесс запустит новое окно и передаст ему фокус.

Это успешно работало в течение нескольких лет в Windows 7, но у нас есть проблема в Windows 10, заключающаяся в том, что новое окно запускается правильно, но не фокусируется - фокус остается в приложении-инициаторе.

Я пробовал несколько различных вызовов API - SetForegroundWindow, SetFocus, SetWindowPos, SwitchToThisWindow и т. Д. - безрезультатно. У меня также установлено значение ForegroundLockTimeout 0.

У меня есть доступ только к коду в принимающем приложении Openedge.

Как я могу заставить это окно украсть фокус?

Я не хочу вдаваться в моральные споры о вреде кражи фокуса:) - в рамках нашей бизнес-среды это законное действие.

Спасибо

0 ответов

Другие вопросы по тегам