У меня есть VB6 ActiveX exe, который запускается из стороннего приложения CRM. При запуске открывается основная форма, но она начинает мигать, а затем теряет фокус. Если вы переместите форму, вы увидите экран занятости сервера с кнопками Перейти на, Повторить.
Я пробовал использовать SetFocus и SetFocusAPI в событии OnActivate формы, но это не сработало. Есть ли какие-нибудь предложения о том, как сфокусировать эту форму при запуске из другого приложения?
Дополнительная информация:
Событие OnLoad вызывает API SetWindowPos для центрирования приложения над вызывающим приложением и устанавливает HWND_TOPMOST.
Дополнительная информация:
Активное окно - это правильное окно (но оно явно не в фокусе)
Окно переднего плана - это вызывающее приложение. SetForegroundWindow переключает окно переднего плана, но немедленно возвращается обратно в вызывающее приложение. Только когда я нажимаю на форму, она оказывается на переднем плане. Я пытаюсь выполнить все это в цикле модуля, вызывающего форму (а не в вызывающем приложении).