Win API: подключить каждое окно шоу или процесс выполнения - PullRequest
3 голосов
/ 23 декабря 2009

Мы планируем создать какую-то функцию единого входа в нашем приложении.

Мне ясно, что мне придется углубиться в Windows API, чтобы добиться чтения и записи из элементов управления устаревших приложений, но, насколько я искал и тестировал, это не самая сложная часть работы.

Однако есть момент, который я до сих пор не мог понять, как поступить: как я могу «подключить» систему к уведомлению каждый раз, когда в пользовательском интерфейсе появляется новое окно? Например: когда я запускаю свой калькулятор или когда внутри calc открывается окно «О программе».

Есть ли способ получить такого рода уведомления? Если да, то как? Если нет, есть ли обходной путь для достижения того же результата?

Заранее спасибо,

Филип

Ответы [ 2 ]

2 голосов
/ 23 декабря 2009

Вам необходим системный хук Windows, в частности хук WH_CBT, наблюдающий за событием HCBT_CREATEWND. Эта штука немного волосатая, но возможная.

Старт здесь :

0 голосов
/ 06 июня 2018

Используйте SetWinEventHook с EVENT_OBJECT_SHOW типом события. Позвоните UnhookWinEvent в конце.

Аналогичный пример: https://stackoverflow.com/a/10280800/991267

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