已经写在DLL里了,第三个参数是DLL的HMODULE,第四个参数是0
但是只能抓到自己进程的消息,别的都不行,我快疯了,部分代码如下:#pragma   data_seg   (".Data")   
HMODULE ghModule=NULL;
HHOOK hhook=NULL;
#pragma   data_seg   ()   
#pragma   comment(linker,"/section:.Data,RWS")BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
 )
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
ghModule=hModule;
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
}
    return TRUE;
}__declspec(dllexport) int StartHook()
{
hhook=SetWindowsHookEx(WH_GETMESSAGE,msghook,ghModule,0); 
return 0;
}__declspec(dllexport) int StopHook()
{
UnhookWindowsHookEx(hhook);
return 0;
}LRESULT CALLBACK msghook(int nCode, WPARAM wParam, LPARAM lParam)
{ if(nCode < 0)

 CallNextHookEx(hhook, nCode, wParam, lParam);
 return 0;
}
          LPMSG msg = (LPMSG)lParam;
 if(msg->message == WM_MOUSEMOVE || msg->message == WM_NCMOUSEMOVE)
 {
//可以执行到这句,但是只有在自己窗口移动鼠标系统才调用了msghook,怒
 }
 return CallNextHookEx(hhook, nCode, wParam, lParam);
} 调用时一切正常,就是只能抓到自己窗口的鼠标消息,不应该是这样的啊
在线等,古老的东西,本来应该满简单的,现在碰到这种怪问题了,谁能解决?