[MFC]屏蔽按键
2013-09-13 19:14
169 查看
HHOOK glhHook = NULL; // 钩子句柄 HINSTANCE glhInstance = NULL; // 模块实例句柄 LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) { BOOL fEatKeystroke = FALSE; PKBDLLHOOKSTRUCT p = NULL; if (nCode == HC_ACTION) { p = (PKBDLLHOOKSTRUCT) lParam; switch (wParam) { case WM_KEYDOWN: case WM_SYSKEYDOWN: case WM_KEYUP: case WM_SYSKEYUP: if(p->vkCode == VK_LWIN || p->vkCode == VK_RWIN){ // 屏蔽Win fEatKeystroke =true; }else if(p->vkCode == VK_TAB && (p->flags & LLKHF_ALTDOWN)){ // 屏蔽Alt+Tab fEatKeystroke =true; }else if(p->vkCode == VK_ESCAPE && (p->flags & LLKHF_ALTDOWN)){ // 屏蔽Alt+Esc fEatKeystroke =true; }else if(p->vkCode == VK_ESCAPE && GetKeyState(VK_CONTROL)){ // 屏蔽Ctrl+Esc fEatKeystroke =true; } break; default: break; } } return (fEatKeystroke ? true : CallNextHookEx(glhHook,nCode,wParam,lParam)); } //安装及卸载钩子: void _stdcall StartKeyMask() { // 安装钩子 glhHook = SetWindowsHookEx(WH_KEYBOARD_LL,LowLevelKeyboardProc,glhInstance,0); } void _stdcall StopKeyMask() { // 卸载钩子 if (glhHook!=NULL) UnhookWindowsHookEx(glhHook); }
相关文章推荐
- MFC屏蔽 WindowS按键
- MFC屏蔽指定按键
- MFC :屏蔽按键
- MFC 屏蔽按键 屏蔽ESC,Enter消息
- MFC 屏蔽按键 屏蔽ESC,Enter消息
- 基于Android6.0源码修改屏蔽系统下方的虚拟按键以及上方的状态栏
- 在VC/MFC中响应键盘按键
- [MFC]Dialog如何屏蔽回车和Esc
- MFC对话框不响应双击按键
- 利用JS屏蔽页面中的Enter按键提交表单的方法
- js在输入框屏蔽按键,只能键入数字
- JS获取按键的代码,Js如何屏蔽用户的按键,Js获取用户按键对应的ASII码(兼容所有浏览器)
- 利用PreTranslateMessage函数屏蔽按键 回车 ESC等
- Android开发笔记--屏蔽返回键,home键以及其他实体按键
- 在VC/MFC中响应键盘按键
- C#中窗体屏蔽键盘按键
- Javascript屏蔽键盘按键
- MFC下屏蔽ESC、回车键以及ALT+F4
- js屏蔽按键
- Android 屏蔽返回键,home键以及其他实体按键