2009-12-30 10 views
4

Je ne suis pas familier avec l'API Windows et j'aimerais savoir comment lire les messages reçus par un autre processus. Par exemple, je voudrais obtenir le HWND de, disons, bloc-notes et coup d'oeil à tous les messages qui sont envoyés à cette fenêtre. Je code en C/C++.WINAPI: Regardez les messages d'un autre processus

Merci

Répondre

7

Vous pouvez utiliser la fonction SetWindowsHookEx, avec WH_CALLWNDPROC ou un autre type de crochet, et here est un exemple.

Le WH_CBT peut vous donner de grandes opportunités parce que vous pouvez obtenir un code HCBT_CREATEWND de lui et il est envoyé à votre droite avant une fenêtre est créée, vous donnant ainsi la possibilité de fournir votre propre fenêtre proc au lieu du vrai puis être en mesure d'obtenir tous les messages possibles avec elle. Rappelez-vous cependant, de plus grandes possibilités signifient également une plus grande responsabilité. Dites-vous "sous-classé" une fenêtre, fournissant votre proc fenêtre, si votre application qui définit un crochet se termine, la prochaine chose que vous verrez est l'application, dont les messages que vous jetez un coup d'oeil, se bloque si vous n'avez pas mis l'adresse du proc de fenêtre originale à l'endroit où il appartient. L'avantage de ce type d'accrochage est la capacité attendre pour une certaine fenêtre (par exemple avec une certaine classe de fenêtre, ou un nom) à créer et entrer dans ce processus avant toute fenêtre qui vous intéresse serait même être créé.

Questions connexes