(源码)基于Visual Studio 2019的TSF输入法示例.zip

上传者: m0_62153576 | 上传时间: 2026-01-20 22:18:39 | 文件大小: 1.26MB | 文件类型: ZIP
# 基于Visual Studio 2019的TSF输入法示例 ## 项目简介 本项目源自微软早期的TSF(Text Services Framework)样例,整合了9个输入法工程和2个附加工程,旨在展示如何使用TSF框架实现输入法功能。项目使用Visual Studio 2019进行开发,源码位于src文件夹中,相关文档位于doc文件夹中。 ## 项目的主要特性和功能 1. 输入法注册与激活展示了如何注册TSF输入法并激活输入法服务。 2. 事件接收器与调试介绍了如何安装事件接收器以及调试输入法。 3. 焦点事件处理演示了如何处理焦点事件并查看编辑记录。 4. 语言栏设置展示了如何设置输入法语言并在语言栏中显示。 5. 文本插入与编辑介绍了如何请求编辑会话以及使用客户端标识符进行文本插入。 6. 键盘事件处理展示了如何注册输入法类别并安装键盘事件接收器。 7. 输入组合处理介绍了如何创建输入组合并处理键盘事件。

文件下载

资源详情

[{"title":"( 323 个子文件 1.26MB ) (源码)基于Visual Studio 2019的TSF输入法示例.zip","children":[{"title":"default.asp <span style='color:#111;'> 33.18KB </span>","children":null,"spread":false},{"title":"default.asp <span style='color:#111;'> 32.61KB </span>","children":null,"spread":false},{"title":"default.asp <span style='color:#111;'> 31.70KB </span>","children":null,"spread":false},{"title":"default.asp <span style='color:#111;'> 28.04KB </span>","children":null,"spread":false},{"title":"default.asp <span style='color:#111;'> 27.42KB </span>","children":null,"spread":false},{"title":"default.asp <span style='color:#111;'> 25.74KB </span>","children":null,"spread":false},{"title":"default.asp <span style='color:#111;'> 24.72KB </span>","children":null,"spread":false},{"title":"default.asp <span style='color:#111;'> 23.07KB </span>","children":null,"spread":false},{"title":"default.asp <span style='color:#111;'> 21.70KB </span>","children":null,"spread":false},{"title":"default.asp <span style='color:#111;'> 19.05KB </span>","children":null,"spread":false},{"title":"default.asp <span style='color:#111;'> 18.90KB </span>","children":null,"spread":false},{"title":"sample.asp <span style='color:#111;'> 104B </span>","children":null,"spread":false},{"title":"sample.asp <span style='color:#111;'> 104B </span>","children":null,"spread":false},{"title":"sample.asp <span style='color:#111;'> 104B </span>","children":null,"spread":false},{"title":"sample.asp <span style='color:#111;'> 104B </span>","children":null,"spread":false},{"title":"sample.asp <span style='color:#111;'> 104B </span>","children":null,"spread":false},{"title":"sample.asp <span style='color:#111;'> 104B </span>","children":null,"spread":false},{"title":"sample.asp <span style='color:#111;'> 104B </span>","children":null,"spread":false},{"title":"sample.asp <span style='color:#111;'> 104B </span>","children":null,"spread":false},{"title":"sample.asp <span style='color:#111;'> 104B </span>","children":null,"spread":false},{"title":"sample.asp <span style='color:#111;'> 104B </span>","children":null,"spread":false},{"title":"sample.asp <span style='color:#111;'> 104B </span>","children":null,"spread":false},{"title":"LanguageBar.cpp <span style='color:#111;'> 20.62KB </span>","children":null,"spread":false},{"title":"CustomPropertyStore.cpp <span style='color:#111;'> 17.36KB </span>","children":null,"spread":false},{"title":"EnumDisplayAttributeInfo.cpp <span style='color:#111;'> 16.79KB </span>","children":null,"spread":false},{"title":"DumpProperties.cpp <span style='color:#111;'> 13.74KB </span>","children":null,"spread":false},{"title":"Server.cpp <span style='color:#111;'> 12.05KB </span>","children":null,"spread":false},{"title":"LanguageBar.cpp <span style='color:#111;'> 11.94KB </span>","children":null,"spread":false},{"title":"LanguageBar.cpp <span style='color:#111;'> 11.77KB </span>","children":null,"spread":false},{"title":"CandidateList.cpp <span style='color:#111;'> 10.57KB </span>","children":null,"spread":false},{"title":"LanguageBar.cpp <span style='color:#111;'> 9.51KB </span>","children":null,"spread":false},{"title":"LanguageBar.cpp <span style='color:#111;'> 9.48KB </span>","children":null,"spread":false},{"title":"LanguageBar.cpp <span style='color:#111;'> 9.44KB </span>","children":null,"spread":false},{"title":"Server.cpp <span style='color:#111;'> 9.21KB </span>","children":null,"spread":false},{"title":"LanguageBar.cpp <span style='color:#111;'> 9.09KB </span>","children":null,"spread":false},{"title":"LanguageBar.cpp <span style='color:#111;'> 8.95KB </span>","children":null,"spread":false},{"title":"KeyEventSink.cpp <span style='color:#111;'> 8.73KB </span>","children":null,"spread":false},{"title":"Register.cpp <span style='color:#111;'> 8.72KB </span>","children":null,"spread":false},{"title":"Register.cpp <span style='color:#111;'> 8.58KB </span>","children":null,"spread":false},{"title":"Register.cpp <span style='color:#111;'> 8.44KB </span>","children":null,"spread":false},{"title":"Register.cpp <span style='color:#111;'> 8.25KB </span>","children":null,"spread":false},{"title":"Register.cpp <span style='color:#111;'> 8.16KB </span>","children":null,"spread":false},{"title":"TextService.cpp <span style='color:#111;'> 7.92KB </span>","children":null,"spread":false},{"title":"KeyHandler.cpp <span style='color:#111;'> 7.62KB </span>","children":null,"spread":false},{"title":"Register.cpp <span style='color:#111;'> 7.33KB </span>","children":null,"spread":false},{"title":"Register.cpp <span style='color:#111;'> 7.11KB </span>","children":null,"spread":false},{"title":"Server.cpp <span style='color:#111;'> 7.05KB </span>","children":null,"spread":false},{"title":"Register.cpp <span style='color:#111;'> 6.94KB </span>","children":null,"spread":false},{"title":"Register.cpp <span style='color:#111;'> 6.91KB </span>","children":null,"spread":false},{"title":"Register.cpp <span style='color:#111;'> 6.89KB </span>","children":null,"spread":false},{"title":"Register.cpp <span style='color:#111;'> 6.83KB </span>","children":null,"spread":false},{"title":"DisplayAttributeInfo.cpp <span style='color:#111;'> 6.66KB </span>","children":null,"spread":false},{"title":"Server.cpp <span style='color:#111;'> 6.65KB </span>","children":null,"spread":false},{"title":"KeyHandler.cpp <span style='color:#111;'> 6.61KB </span>","children":null,"spread":false},{"title":"KeyEventSink.cpp <span style='color:#111;'> 6.61KB </span>","children":null,"spread":false},{"title":"KeyEventSink.cpp <span style='color:#111;'> 6.58KB </span>","children":null,"spread":false},{"title":"KeyHandler.cpp <span style='color:#111;'> 6.57KB </span>","children":null,"spread":false},{"title":"DisplayAttributeInfo.cpp <span style='color:#111;'> 6.56KB </span>","children":null,"spread":false},{"title":"TextService.cpp <span style='color:#111;'> 6.55KB </span>","children":null,"spread":false},{"title":"KeyEventSink.cpp <span style='color:#111;'> 6.54KB </span>","children":null,"spread":false},{"title":"Server.cpp <span style='color:#111;'> 6.45KB </span>","children":null,"spread":false},{"title":"Server.cpp <span style='color:#111;'> 6.26KB </span>","children":null,"spread":false},{"title":"Server.cpp <span style='color:#111;'> 5.96KB </span>","children":null,"spread":false},{"title":"Server.cpp <span style='color:#111;'> 5.96KB </span>","children":null,"spread":false},{"title":"Server.cpp <span style='color:#111;'> 5.94KB </span>","children":null,"spread":false},{"title":"Server.cpp <span style='color:#111;'> 5.75KB </span>","children":null,"spread":false},{"title":"TextService.cpp <span style='color:#111;'> 5.74KB </span>","children":null,"spread":false},{"title":"Server.cpp <span style='color:#111;'> 5.74KB </span>","children":null,"spread":false},{"title":"PopupWindow.cpp <span style='color:#111;'> 5.39KB </span>","children":null,"spread":false},{"title":"TextService.cpp <span style='color:#111;'> 5.06KB </span>","children":null,"spread":false},{"title":"TextService.cpp <span style='color:#111;'> 5.02KB </span>","children":null,"spread":false},{"title":"Compartment.cpp <span style='color:#111;'> 4.98KB </span>","children":null,"spread":false},{"title":"TextService.cpp <span style='color:#111;'> 4.82KB </span>","children":null,"spread":false},{"title":"TextEditSink.cpp <span style='color:#111;'> 4.81KB </span>","children":null,"spread":false},{"title":"Compartment.cpp <span style='color:#111;'> 4.70KB </span>","children":null,"spread":false},{"title":"Compartment.cpp <span style='color:#111;'> 4.65KB </span>","children":null,"spread":false},{"title":"Compartment.cpp <span style='color:#111;'> 4.56KB </span>","children":null,"spread":false},{"title":"TextEditSink.cpp <span style='color:#111;'> 4.52KB </span>","children":null,"spread":false},{"title":"TextService.cpp <span style='color:#111;'> 4.36KB </span>","children":null,"spread":false},{"title":"TextService.cpp <span style='color:#111;'> 4.35KB </span>","children":null,"spread":false},{"title":"TextService.cpp <span style='color:#111;'> 4.25KB </span>","children":null,"spread":false},{"title":"CandidateWindow.cpp <span style='color:#111;'> 4.25KB </span>","children":null,"spread":false},{"title":"TextEditSink.cpp <span style='color:#111;'> 4.09KB </span>","children":null,"spread":false},{"title":"ThreadMgrEventSink.cpp <span style='color:#111;'> 4.08KB </span>","children":null,"spread":false},{"title":"ThreadMgrEventSink.cpp <span style='color:#111;'> 4.02KB </span>","children":null,"spread":false},{"title":"EnumDisplayAttributeInfo.cpp <span style='color:#111;'> 4.01KB </span>","children":null,"spread":false},{"title":"TextEditSink.cpp <span style='color:#111;'> 4.00KB </span>","children":null,"spread":false},{"title":"InsertHello.cpp <span style='color:#111;'> 3.85KB </span>","children":null,"spread":false},{"title":"ThreadMgrEventSink.cpp <span style='color:#111;'> 3.85KB </span>","children":null,"spread":false},{"title":"StartComposition.cpp <span style='color:#111;'> 3.79KB </span>","children":null,"spread":false},{"title":"StartComposition.cpp <span style='color:#111;'> 3.76KB </span>","children":null,"spread":false},{"title":"TextService.cpp <span style='color:#111;'> 3.73KB </span>","children":null,"spread":false},{"title":"StartComposition.cpp <span style='color:#111;'> 3.60KB </span>","children":null,"spread":false},{"title":"TextEditSink.cpp <span style='color:#111;'> 3.60KB </span>","children":null,"spread":false},{"title":"TextService.cpp <span style='color:#111;'> 3.51KB </span>","children":null,"spread":false},{"title":"ThreadMgrEventSink.cpp <span style='color:#111;'> 3.46KB </span>","children":null,"spread":false},{"title":"TextEditSink.cpp <span style='color:#111;'> 3.42KB </span>","children":null,"spread":false},{"title":"TextEditSink.cpp <span style='color:#111;'> 3.41KB </span>","children":null,"spread":false},{"title":"ThreadMgrEventSink.cpp <span style='color:#111;'> 3.40KB </span>","children":null,"spread":false},{"title":"ThreadMgrEventSink.cpp <span style='color:#111;'> 3.37KB </span>","children":null,"spread":false},{"title":"......","children":null,"spread":false},{"title":"<span style='color:steelblue;'>文件过多,未全部展示</span>","children":null,"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明