我写了一个钩子的DLL,然后再一个程序里面调用,具体调用代码如下lpHookCNProc SetKBHookCn; //函数指针
hDll = LoadLibrary("KSRecordDll.dll");
if (hDll != NULL)
{
SetKBHookCn = (lpHookCNProc)GetProcAddress(hDll, "SetKBHookCn");
if (SetKBHookCn != NULL)
{
int result = SetKBHookCn();
}
}
然后DLL中的部分代码如下extern "C" __declspec(dllexport) void SetKBHookCn(void)
{
if(KBhookCn==NULL)
{
KBhookCn = SetWindowsHookEx(WH_GETMESSAGE,(HOOKPROC)KBhookCn_deal,0,0);//设置全局钩子
}
if(KBhookEn==NULL)
{
KBhookEn = SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)KBhook_deal,0,0);//设置全局钩子

}
}
这里设置钩子是成功的,但是钩子的回调函数不能启动,我在回调里面设置了一句MESSAGEBOX弹窗,但是没有弹过。
求指导啊