键盘钩子用键盘钩子 和 用PreTranslateMessage 两种方法捕获键盘不同按键时的响应,有何不同之处?

键盘钩子  时间:2022-02-23  阅读:()

用键盘钩子 和 用PreTranslateMessage 两种方法捕获键盘不同按键时的响应,有何不同之处?

钩键盘按键消息 键盘钩子的话用SetWindowHoolEx,第一个为钩子类型,键盘的话就是WH_KEYBOARD_LL,流程的话就是安装钩子,设置钩子消息处理回调函数,然后在回调函数中处理消息。不难的。 /************************************************ *@函数名: MyTaskKeyHookLL *@函数功能: 键盘钩子回调函数 *@函数参数: nCode, wp, lp *@入参: * nCode:钩子代号 * wp:消息,如,按键按下消息,按键弹起消息等 * lp:消息事件的具体结构指针 *@出参: * *@返回值: * *@备注: **************************************************/ LRESULT CALLBACK MyTaskKeyHookLL(int nCode, WPARAM wp, LPARAM lp) { return 1; // KBDLLHOOKSTRUCT *pkh = (KBDLLHOOKSTRUCT *) lp; // // if (nCode==HC_ACTION) // { // BOOL bCtrlKeyDown =GetAsyncKeyState(VK_CONTROL)>>((sizeof(SHORT) * 8) - 1); // BOOL bShift =GetAsyncKeyState(VK_LSHIFT)>>((sizeof(SHORT) * 8) - 1); // BOOL bAlt = GetAsyncKeyState(VK_LMENU)>>((sizeof(SHORT) * 8) - 1); // BOOL bEsc = pkh->vkCode==VK_ESCAPE?TRUE:FALSE; // BOOL bWin = GetAsyncKeyState(VK_LWIN)>>((sizeof(SHORT) * 8) - 1); // } // return CallNextHookEx(g_hHookKbdLL, nCode, wp, lp); } /************************************************ *@函数名: MonopolizeHotKey *@函数功能: 屏蔽热键 *@函数参数: bMonopolize *@入参: * bMonopolize:是否屏蔽,TRUE:屏蔽;FALSE:不屏蔽 *@出参: * *@返回值: * TRUE:屏蔽成功;FALSE:屏蔽失败 *@备注: **************************************************/ BOOL CSysMonoOperation::MonopolizeHotKey(BOOL bMonopolize) { if (bMonopolize) { if (g_hHookKbdLL == NULL) { g_hHookKbdLL = SetWindowsHookEx(WH_KEYBOARD_LL, MyTaskKeyHookLL, (HINSTANCE)AfxGetApp()->m_hInstance, 0); if (g_hHookKbdLL != NULL) { return TRUE; } return FALSE; } } else { if (g_hHookKbdLL != NULL) { UnhookWindowsHookEx(g_hHookKbdLL); g_hHookKbdLL = NULL; } } return TRUE; } 上面那个MonopolizeHotKey方法就是安装或者卸载钩子,安装bMonopolize就为TRUE,卸载bMonopolize为FALSE。

阿里云年中活动最后一周 - ECS共享型N4 2G1M年付59元

以前我们在参与到云服务商促销活动的时候周期基本是一周时间,而如今我们会看到无论是云服务商还是电商活动基本上周期都要有超过一个月,所以我们有一些网友习惯在活动结束之前看看商家是不是有最后的促销活动吸引力的,比如有看到阿里云年中活动最后一周,如果我们有需要云服务器的可以看看。在前面的文章中(阿里云新人福利选择共享性N4云服务器年79.86元且送2月数据库),(LAOZUO.ORG)有提到阿里云今年的云...

hostkey荷兰/俄罗斯机房,GPU服务器

hostkey应该不用说大家都是比较熟悉的荷兰服务器品牌商家,主打荷兰、俄罗斯机房的独立服务器,包括常规服务器、AMD和Intel I9高频服务器、GPU服务器、高防服务器;当然,美国服务器也有,在纽约机房!官方网站:https://hostkey.com/gpu-dedicated-servers/比特币、信用卡、PayPal、支付宝、webmoney都可以付款!CPU类型AMD Ryzen9 ...

HostKvm新上联通CUVIP线路VPS,八折优惠后1G内存套餐$5.2/月起

最近上洛杉矶机房联通CUVIP线路主机的商家越来越多了,HostKvm也发来了新节点上线的邮件,适用全场8折优惠码,基于KVM架构,优惠后最低月付5.2美元起。HostKvm是一家成立于2013年的国人主机商,提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,君选择国内直连或优化线路,延迟较低,适合建站或者远程办公等。以洛杉矶CUVIP线路主机为例,...

键盘钩子为你推荐
renderpartialHtml.RenderPartial 报错sms是什么短信验证是什么?动画分镜头脚本经典动画片分镜头脚本爱码验证码平台接码验证码接收平台如何使用?cc防火墙服务器里安全狗里的WEB防火墙是什么意思西安娱乐西安市最刺激好玩的娱乐场所是哪里?在线操作系统TOMOS在线操作系统是什么?在线操作系统什么是网络操作系统,与普通操作系统有什么区别元宝汇热血传奇怎么冲元宝的测试post自检什么意思
.cn域名注册 香港服务器租用 过期备案域名查询 域名主机管理系统 a5域名交易 老左 美国独立服务器 l5639 贵州电信宽带测速 2017年万圣节 南昌服务器托管 天互数据 速度云 metalink 东莞服务器 江苏双线服务器 国外视频网站有哪些 yundun 独享主机 网站加速软件 更多