Обнаружение действий Windows, встроенных в AutoGUI, с помощью _WinAPI_SetParent - PullRequest
0 голосов
/ 03 декабря 2011

Я использовал _WinAPI_SetParent для встраивания некоторых программ в AutoIt GUI .Затем я обнаружил, что больше не могу обнаруживать эти окна программы, может быть обнаружен только их родитель (= AutoIt GUI).Я использую ShellHook, и он говорит мне, что окна программы разрушены.Более того, ShellHook не может больше не обнаруживать эти окна программ.

Итак, как отслеживать действия этих окон программ, встроенные в графический интерфейс AutoIt, например, можно использовать WinExists, WinActive и отправлять командыих, как WinActivate, WinGetHandle.Или используя ShellHook для этого?

Эта функция использует DllCall("user32.dll", "hwnd", "SetParent", "hwnd", $hWndChild, "hwnd", $hWndParent)

1 Ответ

1 голос
/ 05 декабря 2011

После встраивания окна становятся элементами управления.В результате попробуйте использовать функции Control*.Например, вы должны использовать ControlFocus для замены WinActivate, ControlGetHandle для замены WinGetHandle.

Кроме того, сохраните ручку, и тогда некоторые функции Windows по-прежнему будут работать с ними.Единственная разница между окнами и элементами управления в том, что у каждого есть родительское окно.

...