自定义输入法热键(转载)

自定义输入法热键(Win 9x/Me/2000/xp)
出处:www.bianceng.cn 编辑:Mali

    Windows系统已经定义了输入法的热键,但用户可以通过修改注册表来对这些热键进行自定义,方法如下:

    (1)打开注册表编辑器。

    (2)打开HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys子键。

    (3)在Hot Keys子键下有00000010、00000011和00000012等子键,它们与输入法的热键定义有关,对应关系如下:

        1)00000010子键对应控制面板中“输入法”项目对话框的“热键”选项卡的“打开/关闭输入法”的热键设置。

        2)00000011子键对应控制面板中“输入法”项目对话框的“输入法”选项卡的第一个输入法的热键设置。

        2)00000012子键对应控制面板中“输入法”项目对话框的“输入法”选项卡的第二个输入法的热键设置。依次类推。

    (4)在上述每个子键下双都存在Key Modifiers、Target IME和Virtual Key三个键值项,其中Key Modifiers代表控制面板中“输入法”项目对话框的“热键”选项卡中的组合键,Virtual Key则代表其中的基本键,用户可根据需要按照下述方法定义输入法的热键:

        1)Key Modifiers的第一个字节值可设置为00、01、02或04,分别代表组合键“无”、Alt、Ctrl和Shift,第二个字节可设置为40、80或c0,分别代表“右”、“左”和“双侧”。

        2)Virtual Key的第一个字节是Windows虚拟键代码,如10代表Shift键,70~7b代表F1~F12,41~5a代表A~Z等。

 

另一种切换输入法的方式:

    HKL hkl=LoadKeyboardLayout(L"e0010804",KLF_ACTIVATE);
    //ActivateKeyboardLayout(hkl, 0);
    ::PostMessage(::GetForegroundWindow(),WM_INPUTLANGCHANGEREQUEST,TRUE,(LPARAM)hkl);

 

 

参考:http://msdn.microsoft.com/en-us/library/ms904626.aspx

http://msdn.microsoft.com/en-us/library/ms632630%28VS.85%29.aspx

你可能感兴趣的:(自定义输入法热键(转载))