一般来说,在win10下,切换美式键盘输入法可以用shift键。按理说我可以用以下代码完成:
SendMessage((HWND)lHWND, WM_KEYDOWN, VK_SHIFT, 0);
SendMessage((HWND)lHWND, WM_KEYUP, VK_SHIFT, 0);但是没有用,那么可以用IME的API开完成吗,例如以下API:
GetKeyboardLayout
LoadKeyboardLayout
ActivateKeyboardLayout我尝试了很久依然无果,故在此求助。

解决方案 »

  1.   

    试试
    /*输入法切换*/
    // keybd_event (0xA2, 0, 0, 0)
    // keybd_event (0xA0, 0, 0, 0)
    // keybd_event (0xA0, 0, KEYEVENTF_KEYUP, 0)
    // keybd_event (0xA2, 0, KEYEVENTF_KEYUP, 0)
      

  2.   

    #define VK_LSHIFT         0xA0
    #define VK_RSHIFT         0xA1
    #define VK_LCONTROL       0xA2
      

  3.   

    ImmSetConversionStatus    Sets the current conversion status. 
    ImmSetOpenStatus     Opens or closes the IME. 这两个API
      

  4.   

    关闭输入法 试试  ImmSetOpenStatus