我的hook怎么一点用都没有啊?
hook的dll:
static HHOOK hHook = NULL;
HINSTANCE hInstance = NULL;
CDlgHook m_dlgHook;
BOOL __declspec(dllexport)__stdcall installHook()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
hHook=SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)KeyboardProc,hInstance,0);
return TRUE;
}
LRESULT __declspec(dllexport)__stdcall CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(((DWORD)lParam&0x40000000) && (HC_ACTION==nCode))
{
switch(wParam) //键盘按键标识
{
case VK_F2:
m_dlgHook.DoModal();
break;
default:
break;
}
}
LRESULT RetVal = CallNextHookEx(hHook, nCode, wParam, lParam );
return RetVal;
}
进程代码:
if(hinstDLL=LoadLibrary((LPCTSTR)"keyHook.dll"))
{
instkbhook=(inshook)GetProcAddress(hinstDLL,"installHook");
instkbhook();
}
编译都通过,排除各种可能我估计是hook没有装上,这是为什么啊?