加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

VC/MFC 一个拦截系统消息的钩子(HOOK)程序事例

(2009-01-08 17:07:48)
标签:

vc/mfc

拦截

系统消息

钩子

hook

程序

事例

it

分类: 编程技术

//一个拦截系统消息的钩子程序事例
static LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam);
BOOL C**App::InitInstance()
{
   HHOOK hhkKybd  = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc,

                                     AfxGetApp()->m_hInstance, 0);
   ///...///
   InitCommonControls();
   CWinApp::InitInstance();
   ///...///
   return TRUE;
}
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{

 PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT) lParam;

 if (nCode == HC_ACTION)
 {

 int vKey = LOBYTE(p->vkCode);

 //如果为键盘消息

 if (wParam == WM_KEYDOWN)
 {
  switch(vKey)
  {
  case 'd':
  case 'D':
      {
          //如果用户按下了Win + D键盘消息
          if(::GetKeyState(VK_LWIN) < 0) 
          {
            ///do anything here///
         
      }
  }
 }
 return CallNextHookEx(NULL, nCode, wParam, lParam);

}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有