读书人

SetWindowsHookEx安装失败解决思路

发布时间: 2012-03-16 16:34:56 作者: rapoo

SetWindowsHookEx安装失败
hookScreen=SetWindowsHookEx(WH_GETMESSAGE,GetMsgProc,AfxGetInstanceHandle(),0);
if(hookScreen==NULL)
{
return FALSE;
}
安装hook老是返回FALSE

[解决办法]
好象必须写在DLL中或者需要更高权限。
[解决办法]

探讨
引用:

GetLastError()的值是什么?

183

[解决办法]
不要用AfxGetInstanceHandle,它不一定返回dll的地址
[解决办法]
C/C++ code
BOOL WINAPI SetKeyHook(BOOL bInstall,DWORD dwThreadId){    BOOL bOk;    if(bInstall)    {        g_hHook=::SetWindowsHookEx(WH_KEYBOARD,KeyHookProc,ModuleFromAddress(KeyHookProc),dwThreadId);        bOk=(g_hHook!=NULL);    }    else    {        bOk=::UnhookWindowsHookEx(g_hHook);        g_hHook=NULL;    }    return bOk;} 

读书人网 >C++

热点推荐