基礎(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ó)家法律
如东县| 巴林右旗| 莎车县| 长葛市| 岳阳县| 西华县| 湘西| 弥勒县| 前郭尔| 乌兰县| 岫岩| 深圳市| 宜章县| 济阳县| 辽宁省| 平安县| 巴南区| 景德镇市| 吴忠市| 清新县| 海安县| 冷水江市| 沈阳市| 平度市| 三河市| 惠来县| 长海县| 小金县| 抚州市| 安新县| 潜江市| 体育| 汤阴县| 酉阳| 绥德县| 洞头县| 呈贡县| 综艺| 陕西省| 柳河县| 盐边县|