加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

窗口 – 你如何使用IME?

发布时间:2020-12-13 20:19:12 所属栏目:Windows 来源:网络整理
导读:我想做一个处理用户输入的控件,所以我想要能够处理不同的键盘,其中一种方法是使用IME. 如果您不处理它,当您有IME活动时(例如日语写入活动),会出现一个浮动窗口.我发现需要处理的消息,但是我不知道如何发送我正在捕获到IME的密钥,何时获得一个有效的转换字符.
我想做一个处理用户输入的控件,所以我想要能够处理不同的键盘,其中一种方法是使用IME.

如果您不处理它,当您有IME活动时(例如日语写入活动),会出现一个浮动窗口.我发现需要处理的消息,但是我不知道如何发送我正在捕获到IME的密钥,何时获得一个有效的转换字符.

我是一个微软SDE,曾经维护(Windows和Office)韩国IME一段时间…

不幸的是,最好的IME API文档是由非Microsoft网站提供的:

> Google Chrome浏览器中的IME编程示例(非常注释的代码!)

> ime_input.h
> ime_input.cc

> Win32 Multilingual IME Overview for IME Development
> Win32 Multilingual IME Application Programming Interface
(对于微软的信用,最后两个以前是Windows驱动程序开发工具包的一部分)

这是Microsoft的官方文档:Input Method Manager (MSDN)

还有一个基于Microsoft希望使用的文本服务框架(TSF)的新的更先进的IME,但是它更复杂,并且旧的API被模拟得很好.如果您不需要任何高级功能(如通过平板电脑/语音识别/爱好者IME / etc输入),则使用旧的API就足够了.

文本服务框架的最佳文档是由另一个Microsoft开发人员编写的TSF Aware Blog.如果你走这条路线,埃里克·布朗甚至可以亲自回答你的问题.

以下是TSF官方的Microsoft文档:Text Services Framework (MSDN)

您可能会发现有用的TSF的一个功能是抑制IME渲染的能力(例如需要渲染IME本身的全屏游戏所需).简单的告诉TSF你的应用程序将渲染IME GUI,然后实现一个空的渲染方法:UILess Mode Overview (MSDN)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读