基礎(chǔ),"> 基礎(chǔ)。">

最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

輸入法開發(fā)——<一>基礎(chǔ)

2023-07-26 10:28 作者:ProsperousFall  | 我要投稿

不懂的可以看下面的參考: Other

開發(fā)建議

使用 WindowsAPI 效率比 CRT 高,所以建議優(yōu)先使用 WinAPI

TSF 輸入法文件

TSF 輸入法,是一個(gè)可注冊(cè)的,包含 COM 接口的 dll

內(nèi)存和引用

COM 接口都繼承自 IUnknown

線程模型

DLL DEF

編譯 dll 需要外露接口,這不僅需要在 *.def 文件中定義

還要在屬性中添加模塊文件,盡管 VS 可以自動(dòng)添加,但建議你檢查一下。

還需要關(guān)閉增量鏈接

這個(gè)庫(kù)視情況而定

不使用的話,這個(gè)也是要關(guān)閉的


DllMain

IME 中,DllMain 的工作有?傳遞句柄、注冊(cè)窗口等

引用管理

DllGetClassObject 每返回一個(gè)對(duì)象(ClassFactory),引用?+= 1 每釋放一個(gè)?ClassFactory 時(shí)?引用?-=?1 。引用 == 0 時(shí),DllCanUnloadNow 才可以返回 S_OK。?

但是不要把 引用 搞成負(fù)的

概要

先來(lái)直白看下 APP 和 IME 都需要干啥。(當(dāng)然,APP 很多工作都由操作系統(tǒng)默認(rèn)控件代為實(shí)現(xiàn)了) APP:?

創(chuàng)建 ThreadMgr ThreadMgr > Activate 創(chuàng)建 DocumentMgr,創(chuàng)建 Context。?

ThreadMgr > SetFocus(DocumentMgr) DocumentMgr > Push(Context)?

IME: 注冊(cè) TextInputProcessor 實(shí)現(xiàn)?

TextInputProcessor->Activate?

ThreadMgr->GetFocus(DocumentMgr)?

DocumentMgr->GetTop(Context)

因?yàn)?C++ 已經(jīng)有?Sample 了,我的項(xiàng)目將使用?C 完成? 后期的示例可能不適用于你

下一章講接口,給我一點(diǎn)時(shí)間去翻譯

參考

SampleIME

https://github.com/microsoft/Windows-classic-samples/tree/main

/IME

Learn Microsoft

https://learn.microsoft.com/zh-cn/windows/win32/tsf/text-services-framework-interfaces

Other

https://yangyuan.github.io/


輸入法開發(fā)——<一>基礎(chǔ)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
鄢陵县| 罗定市| 高雄市| 西峡县| 和田县| 凤台县| 长岛县| 洛浦县| 慈溪市| 安化县| 巴里| 嘉义市| 五华县| 尼玛县| 永福县| 积石山| 太湖县| 抚州市| 江口县| 桐柏县| 玉林市| 古蔺县| 吐鲁番市| 泰兴市| 崇义县| 五华县| 泰来县| 光泽县| 彭州市| 永德县| 墨脱县| 隆安县| 林州市| 义马市| 宁远县| 沂源县| 大丰市| 巴彦淖尔市| 宜章县| 澳门| 邵武市|