【发布时间】:2013-08-30 17:33:06
【问题描述】:
我可以找到大量关于如何制作文本服务框架服务的示例,但找不到关于如何制作实际使用它的应用程序的示例。当我尝试在 C# 中执行此操作时,我得到了足够的结果,甚至可以使用 C++ 示例,如果这是我所能得到的!
【问题讨论】:
标签: com text-services-framework
我可以找到大量关于如何制作文本服务框架服务的示例,但找不到关于如何制作实际使用它的应用程序的示例。当我尝试在 C# 中执行此操作时,我得到了足够的结果,甚至可以使用 C++ 示例,如果这是我所能得到的!
【问题讨论】:
标签: com text-services-framework
我写了一个article for MSDN magazine 讨论编写 TSF 文本存储,并且在 Windows 7 SDK 中有几个示例实现了ITextStoreACP。您可能还会发现这个implementation 也很有趣。
Windows 8 现代应用程序应改为实现ITextStoreACP2;变化相对较小。
为 ITextStoreACP 编写示例的部分困难在于您已经需要某种文档,这往往会使示例过于复杂。
我所知道的所有例子都是用 C++ 编写的。文本存储(与文本服务不同)可以用 C# 编写而不会出现任何性能问题。
【讨论】:
某人 (@copyliu) 创建了一个基于 C# 的 TextService (https://github.com/copyliu/YIME) 示例。我已经成功地试验了这个代码库,并设法让它在 Windows 10 上的普通桌面应用程序上运行。
但是,我在 UWP 环境中使用基于 .NET 的 TextService COM 对象时遇到了一些问题,即 CLR(不是运行 UWP 的 CLR,而是 C# TextService 使用的 CLR 实例)似乎失败了引导。见:CLR cannot create .NET-based COM objects in UWP
【讨论】:
ITextStoreACP 就好了,因为这是您的应用程序的一部分,它不会被加载到任意应用程序中。与文本服务不同,文本服务确实被加载到任意应用程序中。