Bonjour, j'ai un petit problème avec un hook qui en marche pas. J'aimerais intercepter les messages envoyés à une application. j'ai utilisé spy++ pour déterminer les messages envoyés mais je n'arrive pas à les intercepter.
Voici le code de la dll utilisée pour le hook :
#include <windows.h>
#include <winuser.h>
#include <commctrl.h>
HINSTANCE thismod;
HHOOK hhk;
BOOL WINAPI DllMain(HINSTANCE hDll, DWORD dwReason, LPVOID Reserved)
{
if(dwReason == DLL_PROCESS_ATTACH)
thismod = hDll;
return 1;
}
LRESULT CALLBACK kbdWinAmp(int nCode, WPARAM wParam, LPARAM lParam) {
if(nCode >= 0)
{
MSG* pMSG = (MSG*)lParam;
switch(pMSG->message)
{
case WM_MDISETMENU :
case WM_NCHITTEST :
case WM_NCPAINT:
case WM_GETTEXT:
MessageBeep(MB_OK);
MessageBoxA(0,"ici","ici",0);
break;
}
}
return CallNextHookEx(hhk, nCode, wParam, lParam);
}
extern "C" __declspec(dllexport) int __stdcall Intercepte()
{
if(!hhk)
hhk = SetWindowsHookEx(WH_GETMESSAGE, kbdWinAmp, thismod, 0);
return (int) hhk;
}
extern "C" __declspec(dllexport) void __stdcall FinIntercepte()
{
if(hhk)
{
UnhookWindowsHookEx(hhk);
hhk = 0;
}
}
Autre chose, est il possible de voir les mesages au lancement d'une application avec spy++ ?
Pouvez vous m'aidez svp ?
Merci