我写的消息钩子 怎么一挂上就非法操作?而且其他的应该用程序也被告称非法操作了,下面是我的代码,我写在dll里了:
LRESULT CALLBACK CallWndProc(int nCode, WPARAM wParam, LPARAM lParam)
{
LRESULT RetVal = CallNextHookEx( hkb, nCode, wParam, lParam );
return RetVal;
}挂钩子:
hkb=SetWindowsHookEx(WH_CALLWNDPROC, (HOOKPROC)CallWndProc, AfxGetInstanceHandle(), 0);请问这是为什么啊?救命啊
LRESULT CALLBACK CallWndProc(int nCode, WPARAM wParam, LPARAM lParam)
{
LRESULT RetVal = CallNextHookEx( hkb, nCode, wParam, lParam );
return RetVal;
}挂钩子:
hkb=SetWindowsHookEx(WH_CALLWNDPROC, (HOOKPROC)CallWndProc, AfxGetInstanceHandle(), 0);请问这是为什么啊?救命啊
然后写一个DllMain()
{
代码//将hIstance传给一个全局的HINSTANCE变量
}
//以上代码在dll中完成。
然后在程序中去调用在dll中定义的全局变量就可以得到钩子的实例的句柄了
hInstance.
然后传递给钩子,安装SetWindowsHookEx
SetWindowsHookEx(WH_CALLWNDPROC, (HOOKPROC)CallWndProc, AfxGetInstanceHandle(), 0);
中的AfxGetInstanceHandle()试试。