一个拦截系统消息的钩子程序事例

 

//一个拦截系统消息的钩子程序事例
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);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值