SipShowIM(SIPF_OFF);
SipShowIM(SIPF_ON);
在外部切换输入法模式:
消息定义:
#define WM_IME_CHOOSE WM_USER + 0x0310
窗口获取方法:
HWND hImeWnd = GetWindow(FindWindow(L"SipWndClass", NULL), GW_CHILD);
SendMessage(hImeWnd, WM_IME_CHOOSE, 输入模式ID, 0);
输入模式定义:
#define DWIME_PY 0x300 // 拼音
#define DWIME_BH 0x301 // 笔画
#define DWIME_ENG 0x304 // ABC
#define DWIME_123 0x306 // 数字、符号(自动判断,如果前一个键盘是中文这时符号就是中文符号,如果前一键盘是英文这时符号就是英文符号)
#define DWIME_HW 0x307 // 手写识别
#define DWIME_CNSYMB 0x330 // 中文符号
#define DWIME_ENSYMB 0x331 // 英文符号
输入法的广播消息:
接收输入法改变的消息 : 当输入法隐藏、显示、输入模式改变,会发出 InputModeChangeMessage 消息
消息注册:RegisterWindowMessage(L"InputModeChangeMessage");发送方式:PostMessage
参考说明:wParam : 1 表示显示,0 表示隐藏或关闭,2 表示切换输入模式
lParam : 当前输入模式
lParam 可以是如下值:
'ABC' // 实体 9 宫格里的大写字母
'abc' // 实体 9 宫格里的小写字母
'py' // 拼音
'bh' // 笔画
'hw' // 手写
'Abc' // 虚拟键盘里的 英文字母
'123' // 数字