Hook.cpp
上传用户:qzzxgm
上传日期:2009-12-14
资源大小:1882k
文件大小:1k
源码类别:

书籍源码

开发平台:

Visual C++

  1. // Hook.cpp: implementation of the CHook class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "Hook.h"
  6. #ifdef _DEBUG
  7. #undef THIS_FILE
  8. static char THIS_FILE[]=__FILE__;
  9. #define new DEBUG_NEW
  10. #endif
  11. //////////////////////////////////////////////////////////////////////
  12. // Construction/Destruction
  13. //////////////////////////////////////////////////////////////////////
  14. CHook::CHook()
  15. {
  16. }
  17. CHook::~CHook()
  18. {
  19. }
  20. BOOL CHook::starthook(HWND hWnd)
  21. {
  22. //安装钩子并设定接收显示窗口句柄
  23. BOOL bResult=FALSE;
  24. glhHook=SetWindowsHookEx(WH_MOUSE,MouseProc,glhInstance,0);
  25. if(glhHook!=NULL)
  26. bResult=TRUE;
  27. //设置显示目标窗口标题编辑框的句柄
  28. glhDisplayWnd=hWnd;
  29. return bResult;
  30. }
  31. BOOL CHook::stophook()
  32. {
  33. //卸载钩子
  34. BOOL bResult=FALSE;
  35. if(glhHook)
  36. bResult= UnhookWindowsHookEx(glhHook);
  37. if(bResult)
  38. {
  39. glhPrevTarWnd=NULL;
  40. glhDisplayWnd=NULL;//清变量
  41. glhHook=NULL;
  42. }
  43. return bResult;
  44. }