【中文输入法,WM_KEYDOWN 消息的按键码 wParam 全是229?】

skynet88888 2016-11-18 12:07:13
本以为程序错了,无论按什么字母,按键码wParam都是229,无意间按了下Shift,wParam又能显示正确了,才知道是中文输入法的问题,切换到英文才能得到正确的按键码。有人建议用WM_CHAR或WM_KEYUP,但我不想用,因为这两个消息下也有不同的任务,不能和KEYDOWN的任务混淆。
有没有解决办法,让KEYDOWN消息wParam显示正确的按键码?实在不行的话,怎么在代码中关闭或屏蔽中文输入法?或者屏蔽所有输入法?
...全文
732 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
skynet88888 2016-11-18
  • 打赏
  • 举报
回复
引用 1 楼 ipqtjmqj 的回复:
AfxMessageBox("请关闭输入法“);
亲爱的,能否不这么萌
ipqtjmqj 2016-11-18
  • 打赏
  • 举报
回复
AfxMessageBox("请关闭输入法“);
skynet88888 2016-11-18
  • 打赏
  • 举报
回复
引用 6 楼 zhao4zhong1 的回复:
英语也是一门计算机语言的说。
其实,问问题的大都是看了MSDN仍然不会具体搞法才问的
赵4老师 2016-11-18
  • 打赏
  • 举报
回复
英语也是一门计算机语言的说。
skynet88888 2016-11-18
  • 打赏
  • 举报
回复
引用 4 楼 zhao4zhong1 的回复:
查MSDN是Windows程序员必须掌握的技能之一。
我只想查CSDN
赵4老师 2016-11-18
  • 打赏
  • 举报
回复
查MSDN是Windows程序员必须掌握的技能之一。
Yofoo 2016-11-18
  • 打赏
  • 举报
回复
参考MSDN ImmGetVirtualKey 229 就是 VK_PROCESSKEY Although the IME sets the virtual-key value to VK_PROCESSKEY after processing a key input message, an application can recover the original virtual-key value with the ImmGetVirtualKey function. This function can be used only for key input messages containing the VK_PROCESSKEY value. 禁用输入法 ImmDisableIME, 参考MSDN

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧