找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 3890|回复: 1

求助SetWindowsHookEx总是参数错误

[复制链接]

2

主题

12

回帖

0

精华

铜牌会员

积分
76
发表于 2014-2-7 21:40:12 | 显示全部楼层 |阅读模式
这个函数在64位系统下应用没问题吧,我是初学的新手,老师要求做个spy++截取指定窗口消息的工具,我想挂钩,但是SetWindowsHookEx返回值为0,GetLastError返回值87,是参数错误,这是我DLL的代码
  1. // ½¨Á¢Êý¾Ý¶Î
  2. #pragma data_seg("HookData")
  3. HHOOK g_hHook = NULL;   // ¹³×Ó¾ä±ú
  4. HINSTANCE g_hInstDLL = NULL; // Ä£¿é¾ä±ú
  5. #pragma data_seg()

  6. // ÉèÖÃÊý¾Ý¶ÎΪ¿É¶Á¿Éд¿É¹²Ïí
  7. #pragma comment(linker,"/SECTION:HookData,RWS")

  8. // Èë¿Úº¯Êý
  9. BOOL APIENTRY DllMain(HINSTANCE hInstDLL,
  10.                                           DWORD fdwReason,
  11.                                           LPVOID lpvReserved)
  12. {
  13.         if(fdwReason == DLL_PROCESS_ATTACH)
  14.         {
  15.                 g_hInstDLL = hInstDLL; // ³õʼ»¯Ä£¿é¾ä±ú
  16.         }
  17.         return TRUE;
  18. }

  19. // ¹³×ӻص÷º¯Êý
  20. LRESULT WINAPI HookProc(int nCode, WPARAM wParam, LPARAM lParam)
  21. {
  22.         switch (wParam)
  23.         {
  24.         case WM_LBUTTONDOWN:
  25.                 MessageBox(NULL, "Êó±ê×ó¼ü°´ÏÂ", "Text", MB_OK);
  26.                 break;
  27.         }       
  28.         // ½«Ê¼þ´«µÝµ½ÏÂÒ»¸ö¹³×Ó
  29.         return CallNextHookEx(g_hHook, nCode, wParam, lParam);
  30. }

  31. //°²×°¹³×Ó
  32. extern "C" __declspec(dllexport) DWORD InstallHook(DWORD dwThread)
  33. {
  34.         DWORD dwRet = 0;
  35.         g_hHook = SetWindowsHookEx(WH_MOUSE, HookProc, g_hInstDLL, dwThread);
  36.         if(g_hHook == NULL)
  37.                 dwRet = GetLastError();
  38.         return dwRet;
  39. }

  40. //Ð¶ÔØ¹³×Ó
  41. extern "C" __declspec(dllexport) DWORD KillHook()
  42. {
  43.         if(UnhookWindowsHookEx(g_hHook))
  44.                 return 0;
  45.         else
  46.                 return GetLastError();
  47. }
复制代码

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2014-7-14 21:43:28 | 显示全部楼层
这个..............帮顶一下
我就是嗷嗷叫的老马了......

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表