键盘钩子用键盘钩子 和 用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。

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

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

Tudcloud(月付7.2美元),香港VPS,可选大带宽或不限流量

Tudcloud是一家新开的主机商,提供VPS和独立服务器租用,数据中心在中国香港(VPS和独立服务器)和美国洛杉矶(独立服务器),商家VPS基于KVM架构,开设在香港机房,可以选择限制流量大带宽或者限制带宽不限流量套餐。目前提供8折优惠码,优惠后最低每月7.2美元起。虽然主机商网站为英文界面,但是支付方式仅支付宝和Stripe,可能是国人商家。下面列出部分VPS主机套餐配置信息。CPU:1cor...

快云科技,美国VPS 2H5G独享20M 仅售19.8/月  年付仅需148

快云科技已稳步运行进两年了 期间没出现过线路不稳 客户不满意等一系列问题 本司资质齐全 持有IDC ICP ISP等正规手续 有独特的网站设计理念 在前几天刚是参加过魔方系统举行的设计大赛拿获最佳设计奖第一名 本公司主营产品 香港弹性云服务器,美国vps和日本vps,香港物理机,国内高防物理机以及美国日本高防物理机 2020年的国庆推出过一款香港的回馈用户特惠机 已作为传家宝 稳定运行 马上又到了...

键盘钩子为你推荐
ae序列号安装AE,序列号是什么意思?微信如何只发文字微信朋友圈如何只发文字,怎么发文字不要图云输入法QQ云输入法怎样进行中英文切换?淘码除了爱码,现在哪个验证码平台还能用particular教程有没有制作花瓣飘落的AE教程backupexec怎样在vmware vcenter上安装backup exec agent for windowsflex是什么Adobe 软件系列有那些,分别是做什么的?在线操作系统什么是计算机操作系统?其作用主要有哪些driversbackup为什么电脑开机时一直进backup systemps5教程跪求PS5 教程
域名服务器的作用 cybermonday 西安服务器 香港服务器99idc php主机 申请个人网页 129邮箱 metalink in域名 跟踪路由命令 空间首页登陆 免费asp空间申请 畅行云 测速电信 攻击服务器 apnic 开心online 美国主机 最新优惠 ping值 更多