Получение дескриптора фокусированного в данный момент элемента управления внутри другого приложения - PullRequest
1 голос
/ 26 июля 2010

Как можно получить дескриптор элемента управления, который в данный момент имеет фокус?Я использую WH_KEYBOARD_LL для захвата всех нажатий клавиш, и я должен иметь возможность определить, в какое текстовое поле вводит пользователь. Код, захватывающий события, не имеет прямого доступа к элементам управления в другом приложении.

Iзнаю, что win32-функция GetFocus () существует для получения текущего дескриптора окна, но мне нужно нечто подобное для текущего элемента управления.

Любые идеи приветствуются.

Пика

Ответы [ 2 ]

2 голосов
/ 26 июля 2010

Вы можете передать идентификатор потока GUI на GetGUIThreadInfo(), который предоставит вам GUITHREADINFO.hwndFocus.

0 голосов
/ 26 июля 2010

Вы можете использовать более общий WH_MSGFILTER (он вызывается в контексте отслеживаемого потока, поэтому вы должны создать DLL).Обратный вызов получает структуру MSG, содержащую всю информацию о сообщении (тоже обрабатывает).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...