一般来说,在win10下,切换美式键盘输入法可以用shift键。按理说我可以用以下代码完成:
SendMessage((HWND)lHWND, WM_KEYDOWN, VK_SHIFT, 0);
SendMessage((HWND)lHWND, WM_KEYUP, VK_SHIFT, 0);但是没有用,那么可以用IME的API开完成吗,例如以下API:
GetKeyboardLayout
LoadKeyboardLayout
ActivateKeyboardLayout我尝试了很久依然无果,故在此求助。
SendMessage((HWND)lHWND, WM_KEYDOWN, VK_SHIFT, 0);
SendMessage((HWND)lHWND, WM_KEYUP, VK_SHIFT, 0);但是没有用,那么可以用IME的API开完成吗,例如以下API:
GetKeyboardLayout
LoadKeyboardLayout
ActivateKeyboardLayout我尝试了很久依然无果,故在此求助。
解决方案 »
- 关于VC++技术内幕5.0和VC++技术内幕6.0
- 新手求助
- ComboBox类的输入窗口中的editing field如何清空?
- 在通信协议中看到有 Unsigned Integer (4个字节数) ,Unsigned Integer (1个字节数)应该如何定义
- 给菜单添加处理函数,但点击时未调用函数
- 求助!界面和进程的问题
- 为何虚拟键VK_ENTER被当成是没有定义的值?
- 怎么让组合框“响应”我的“回车”消息???
- 求一个开立方的算法,望各位前辈帮忙。。
- how to remove sizebox in statusbar?
- C++操作word,怎么取单个字符,改变大小,然后保存?
- nginx下不修改源码,如何用C/C++编写http服务接口?
/*输入法切换*/
// 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)
#define VK_RSHIFT 0xA1
#define VK_LCONTROL 0xA2
ImmSetOpenStatus Opens or closes the IME. 这两个API