中关村在线

首页 排行 新品 问答 下载 论坛 手机 笔记本 数码相机 主板 显卡 平板电脑 更多

怎么通过矩阵键盘设置参数

举报
讨论回答 (4)
cqhv1119
j514354639


安装鼠标钩子
用到的函数有:
  SetWindowsHookExA() //设置钩子
  GetModuleHandle() //获取模块句柄
  UnhookWindowsHookEx() //关闭钩子
  SetDlgItemText() //设置控件文本
  用到的结构体有:
  KBDLLHOOKSTRUCT

步骤一:在XXXXXDlg.cpp顶端定义
#define WH_KEYBOARD_LL 13
  
typedef struct tagKBDLLHOOKSTRUCT {
  
  DWORD vkCode;
  
  DWORD scanCode;
  
  DWORD flags;
  
  DWORD time;
  
  DWORD dwExtraInfo;
  
} KBDLLHOOKSTRUCT, FAR *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;

HHOOK 键盘;
HWND hwnd;

LRESULT CALLBACK LowLevelKeyboardProc(int nCode,WPARAM wParam,LPARAM lParam)
{
  //这些就是HOOK代码
  LRESULT lResult = CallNextHookEx(键盘, nCode, wParam, lParam);
  //PMSG pmsg = (PMSG)lParam;
  //这时候pmsg->message就是消息了
  CString I;
  I.Format(_T("键盘状态:%d"),wParam);
  SetDlgItemText(hwnd,IDC_EDIT3,I);
  KBDLLHOOKSTRUCT* 指针=(KBDLLHOOKSTRUCT*)lParam;
  I.Format(_T("键代码:%d"),指针->vkCode);
  SetDlgItemText(hwnd,IDC_EDIT4,I);
  return FALSE;
}

步骤二:代码写:
  hwnd=m_hWnd;
  //键盘事件的响应步骤是:
  //键盘驱动->系统键盘消息处理->当前进程消息处理->当前窗口消息处理
  //WH_KEYBOARD_LL插在系统键盘消息处理前
//而WH_KEYBOARD则插在当前进程消息处理前.
  //因此如果你WH_KEYBOARD hook正确而WH_KEYBOARD_LL hook得不到想要得结果,那么唯一可能就是你把一些不该过滤的键盘消息给过滤掉了。
  键盘 = SetWindowsHookExA(WH_KEYBOARD_LL,LowLevelKeyboardProc,GetModuleHandle(NULL),NULL);

步骤三:在类视图XXXXXXDlg->消息->WM_DESTROY写:
  UnhookWindowsHookEx(键盘);
773089586
pancong987
展开查看全部 4 条讨论
相关问题

苦寻良久的Mac扩容方案 速度不比内置硬盘差

1.5万 浏览 272 回答

机械键盘

1.6万 浏览 260 回答

青少年如何更安全地使用APP购物,玩游戏?

16.6万 浏览 66 回答

玩游戏目前什么显卡最好

669.8万 浏览 64 回答

游戏键盘

1.1万 浏览 49 回答

扩展阅读

两种形态三模连接覆盖游戏办公全场景 雷柏V500 PRO多模版机械键盘体验评测

评论 6

两种形态三模连接覆盖游戏办公全场景 雷柏V500 PRO多模版机械键盘体验评测

骁龙8至尊版首发测试,安兔兔跑分超308万

评论 3

骁龙8至尊版首发测试,安兔兔跑分超308万

DJI Power 2度电加电包评测:提升户外电源的性能和持续供电时长

评论 3

DJI Power 2度电加电包评测:提升户外电源的性能和持续供电时长

小屏党的旗舰来了 vivo X200 Pro mini全面评测

评论 27

小屏党的旗舰来了 vivo X200 Pro mini全面评测

潮汐引擎加持天玑9400表现如何?OPPO Find X8 Pro游戏实测

评论 9

潮汐引擎加持天玑9400表现如何?OPPO Find X8 Pro游戏实测
热门问题

幼儿裂缝进不去怎么办视频都市网

5778 浏览 7 回答

幼儿裂缝进不去怎么办视频都市网

256gSSD是否够用?打算买个笔记本,办公为主,查阅文献等。不玩大型游戏,至多玩一些棋牌类游戏和影音娱乐。手里有2T移动硬盘,但也想在笔记本上存少量的电影。平时玩单反,处理图片比较多。

2.3万 浏览 4 回答

256gSSD是否够用?打算买个笔记本,办公为主,查阅文献等。不玩大型游戏,至多玩一些棋牌类游戏和影音娱乐。手里有2T移动硬盘,但也想在笔记本上存少量的电影。平时玩单反,处理图片比较多。

华为量子芯片概念股有哪些?

6705 浏览 3 回答

华为量子芯片概念股有哪些?

肿么找回QQ浏览器历史记录

7286 浏览 6 回答

肿么找回QQ浏览器历史记录

华为p70对比mate60(都是标准版),拍照提升多少,求大佬讲解

1478 浏览 6 回答

华为p70对比mate60(都是标准版),拍照提升多少,求大佬讲解

2025年的传统節日

4377 浏览 5 回答

2025年的传统節日

excel怎么关闭AI助手

946 浏览 7 回答

excel怎么关闭AI助手

excel表格怎么关闭ai助手

813 浏览 5 回答

excel表格怎么关闭ai助手

《lofter》网页版登录入口

2257 浏览 6 回答

《lofter》网页版登录入口

马斯克有华人血脉吗

8761 浏览 7 回答

马斯克有华人血脉吗
最新问答

如何调电脑显示器字体大小?

1901 浏览 8 回答

如何调电脑显示器字体大小?

电信无线上网卡、年卡、一年过可以续费吗?续费价钱?

1782 浏览 5 回答

电信无线上网卡、年卡、一年过可以续费吗?续费价钱?

怎么让PSD文件都显示PSD图标

3845 浏览 4 回答

怎么让PSD文件都显示PSD图标

微单相机里删除的照片如何恢復

7859 浏览 7 回答

微单相机里删除的照片如何恢復

华为手机助手电脑备份失败,怎么处理?

6405 浏览 4 回答

华为手机助手电脑备份失败,怎么处理?
举报
举报成功

经过核实后将会做出处理,感谢您为社区和谐做出贡献。

请选择删除原因
删除成功
确定推荐该回答?
推荐成功

更多频道

频道导航
辅助工具