首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

SetWindowsHookEx安装失败解决思路

2012-03-16 
SetWindowsHookEx安装失败hookScreenSetWindowsHookEx(WH_GETMESSAGE,GetMsgProc,AfxGetInstanceHandle()

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;} 

热点排行