输入法会把一些重要的事件广播出来,需要监听有程序可以使用RegisterWindowMessage 得到消息id,在消息处理函数监听到这些消息。
默认关闭广播功能,需要的请先打开设置里的“高级” >> “广播消息”。
事件说明 | 消息名称 |
输入法显示 | dwime_show_event |
输入法关闭(隐藏) | dwime_close_event |
输入法进程结束 | dwime_destroy_event |
签名文件输出 | dwime_sign_file参数:wParam 无用IParam 为签名id,您可以通过这个id 获取图像文件和文字内容 |
自定义输出。 需要先在“高级”设置里把“汉字输出方式”设置为:4 广播消息,C#的代码里有演示。 | dwime_commit_char 每次只发送一个字符,如果候选是一个n字词组,那么你会收么n次消息。参数:wParam 一个 wchar_t的字符IParam 无用 |
使用例子 VC:
int close_event = RegisterWindowMessage(“dwime_close_event”);
LRESULTWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
if (uMsg == close_event)
{
// 处理代码…
}
}