none
自定义快捷键的功能,在中文输入法下的BUG RRS feed

  • 问题

  • 我的程序想增加一个自定义快捷键的功能,程序判断快捷键在PreTranslateMessage里面进行判断

    当我用if (pMsg->message == WM_KEYDOWN)

    判断pMsg->wParam 的时候,在中文输入法下永远是229

    如果我改用if (pMsg->message == WM_CHAR)的话

    中文输入法下一些特殊字符会判断有误,并且在Ctrl+数字组合键不进入这个消息

    请问这个问题我该怎么处理

    2018年7月19日 8:45

全部回复

  • Hi,

    感谢在MSDN论坛发帖。

    >>当我用if (pMsg->message == WM_KEYDOWN)
    判断pMsg->wParam 的时候,在中文输入法下永远是229
    如果我改用if (pMsg->message == WM_CHAR)的话
    中文输入法下一些特殊字符会判断有误,并且在Ctrl+数字组合键不进入这个消息

    请问你的快捷键具体设置的是什么?

    对于这个问题,我建议你使用RegisterHotKey 来注册一个hot key。 然后使用WM_HOTKEY消息来判断。当用户按下RegisterHotKey函数注册的hot key时会发布该消息。

    希望对你有所帮助。

    Best Regards,

    Baron Bi


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年7月20日 1:56
  • 我的想法是快捷键用户可以随意设置,采用注册的方式貌似用户就不能随意设置了
    2018年7月20日 2:38