C ++ получить другие сообщения Windows - PullRequest
0 голосов
/ 09 сентября 2010

я учусь создавать объекты в других окнах, например, изменять размер окна ie или любого типа. единственная проблема, я не знаю, как я могу получить или передать сообщения в другие окна.
как если бы я нажал клавишу, то есть я бы тоже хотел, чтобы это сообщение было передано моей программе!
любая идея

Ответы [ 2 ]

3 голосов
/ 09 сентября 2010

Чтобы получить сообщения, которые отправляются в программы Windows, вы должны установить ловушку, чтобы прослушать сообщения, которые вы хотите. Вы делаете это через функцию SetWindowsHookEx .

Однако я считаю, что вам следует прочесть книгу об этом типе поведения, так как есть определенные правила, которые вы должны применять. Например, перед возвратом из функции обратного вызова вы должны вызвать CallNextHookEx , чтобы другие хуки могли обработать сообщение. Это первый хит в books.google.com при поиске setwindowshookex.

0 голосов
/ 09 сентября 2010

Обычно ваше приложение не будет получать сообщения Windows для других приложений (это может быть проблемой безопасности, например, со шпионским программным обеспечением для кейлоггера). Однако метод CBT Hook можно использовать для установки ловушки, которая получает другие входные сообщения окна.

Однако обратите внимание, что функция Windows под названием UIPI может вызвать проблемы с перехватчиками CBT .

...