精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
最近一个客户加入了锐英源技术服务会员,要求处理IME输入法的一些BUG,里面提到WIN10下输入法的图标问题,搜狗输入法在输入法列表窗口里有图标代替汉字简体示意,但客户没有这样的效果,想让解决,后来研究下,这是TSF输入法模式下才有的效果,所以启动了IME输入法升级到TSF输入法任务。
图标的研究结果如下:
HKEY_CLASSES_ROOT\CLSID\{E7EA138F-69F8-11D7-A6EA-00065B844310}
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{E7EA138F-69F8-11D7-A6EA-00065B844310}\LanguageProfile\0x00000804\{E7EA1390-69F8-11D7-A6EA-00065B844311}
在资源里加上icon
https://docs.microsoft.com/en-us/windows/win32/com/registering-com-applications
CTF对应TSF技术,注册COM接口,TSF比IME新
注册:
https://docs.microsoft.com/zh-cn/windows/win32/tsf/text-service-registration
中文介绍:
http://zhhz.suda.edu.cn/ca/60/c3892a51808/page.htm
命令行注册:regsvr32.exe /u /s *.ime。 TSF参考例子:windows-chewing-tsf-master。 不过需要时间升级到TSF。
首先对TSF的感觉是资料很少,特别是国内的资料更少,国外微软网站上内容很多,上面也有链接。说过资料,对TSF的架构也觉得麻烦,比IME的回调形式麻烦多了,TSF的回调还要先注册,觉得麻烦的另外原因是TSF是基于COM的,功能分散到接口里,很不好找,也不好操作。IME就象C回调,到了TSF这里,就是深度面向对象迷宫一样。
TSF的例子也麻烦,找的例子VC++的编译不了,有的是安卓Studio的C++代码项目,例子里代码也不全,功能也不全,开源的就是这样,给你个方向,但距离产品还远的多。
客户的IME项目代码也很复杂,没有文档,要在分析后才能升级,
最后我结合几个例子和以前IME开发经验才完成了升级,客户原有的界面能显示,输入拼音能按原来逻辑转换到候选窗口里,按候选上的数字键也能输出。
有需要同样任务的朋友联系锐英源啊。