Пишу программу для автоматической загрузки отладочных символов Fasma в Ida Pro и не как не могу решить казалось бы простую проблему клика в окне мышкой на папке открытия файла. Все неоходимые дескрипторы получаются без проблем, но вот само окно выводится на передний план через раз, перепробывал уже все возможные варианты вот например один из последних. Код (Text): invoke GetForegroundWindow; mov [CurHwnd],eax; invoke GetCurrentThreadId mov [MyThread],eax; lea eax,[pThreadID]; invoke GetWindowThreadProcessId,[CurHwnd],eax; invoke AttachThreadInput,[CurHwnd],[MyThread],TRUE; invoke SetWindowPos,[_hwndIda], HWND_TOPMOST, 0, 0, 0, ,SWP_NOSIZE+SWP_NOMOVE+SWP_SHOWWINDOW; invoke SetForegroundWindow,[_hwndIda]; invoke SetFocus,[_hwndIda]; invoke SetActiveWindow,[_hwndIda]; invoke AttachThreadInput,[CurHwnd],[MyThread],FALSE; И вторая проблема если моя программа запущена не из режима администратора то в окне IdaPro клик мыши также не работает. Добраться до меню Ida Pro не смог GetMenu возвращает ноль.
Проблема скорей всего не в том, что применено недостаточно разных способов зафокусить окно, а в том, что клик мыши ловит другое окно и понимает его по-своему. А там уж кто из них последним зафокусился, того и тапки. Так что придумывай как засабклассить/повесить свой обработчик на клик.