Windows9x系統提供的ime管理函式

2021-04-17 10:41:41 字數 4545 閱讀 8796

windows9x系統提供的ime管理函式

上一章,我們介紹了ime檔案中必須設計的函式,這些函式要靠我們自己來設計。要完成這些函式的設計,需用到windows系統提供的管理函式(input method manager,簡稱imm)。

imm函式可以被ime函式使用,也可用於應用軟體直接管理ime。

(1)input method context 簡稱imc--輸入法相關部分,在這裡解釋為:相關連的應用程式(程序)

(2)component of the input context 簡稱imcc--imc的部件,是inputcontext 結構的成員。

一、ime中使用的imm函式清單

immgetcompositionwindow //取編碼視窗資訊

immsetcompositionwindow //設定編碼視窗資訊

immgetcandidatewindow //取選擇視窗資訊

immsetcandidatewindow //設定選擇視窗資訊

immgetcompositionstring //取編碼視窗的某一資訊

immsetcompositionstring //設定編碼視窗的某一資訊

immgetcompositionfont //取編碼字型

immsetcompositionfont //設定編碼字型

immgetnumcandidatelist //取選擇區中編碼數

immgetcandidatelist //取選擇區中編碼

immgetguideline

immgetconversionstatus //取當前輸入法的狀態(acsii,shape,full等)

immgetconversionlist //重新獲得選擇區轉換表

immgetopenstatus //取輸入法開啟屬性

immsetconversionstatus //設定輸入法狀態

immsetopenstatus //設定輸入法開啟狀態

immnotifyime //通報ime,輸入法狀態被改變

immgeneratemessage //將我們的imc傳送到與當前輸入法相關聯的應用軟體中

immrequestmessage //向應用程式傳送wm_ime_request

immlockimc //獲取當前imc的inputcontext結構資訊,增加imc 計數器

immunlockimc //釋放imc計數器

immgetimclockcount //取計數器值

immcreateimcc //建立inputcontext結構的乙個成員

immdestroyimcc //刪除imc成員緩衝區

immlockimcc //取imcc緩衝位址,同時使imcc的計數器值增加

immunlockimcc //遞減imcc計數器

immresizeimcc //重新設定imc的成員的緩衝區大小

immgetimccsize //取imc成員的緩衝區大小

immgetimcclockcount //返回imc計數器值

immgethotkey //取輸入法狀態鍵,該函式供控制面板使用

immsethotkey //設定輸入法的熱鍵

immcreatesoftkeyboard //產生乙個軟鍵盤

immdestroysoftkeyboard //銷毀軟鍵盤

immshowsoftkeyboard //顯示或隱藏軟鍵盤

二、imm函式使用格式說明

1、bool winapi immgeneratemessage( //將我們的漢字串法傳送到與當前輸入法相關聯的應用軟體中

himc himc //與當前輸入法相關聯的應用軟體的控制代碼,

//該結構的hmsgbuf項即為漢字串訊息 )

成功為true,否則為false

2、lresult winapi immrequestmessage( //向應用程式傳送wm_ime_request

//只是用於w98及w2000

himc himc, //與當前輸入法相關聯的應用軟體的控制代碼

wparam wparam, //與wm_ime_request相關的wp

lparam lparam //與wm_ime_request相關的lp

//=imr_compositionwinow

//=imr_candidatewindow

//=imr_compositionfont

//=imr_reconvertstring

//=imr_confirmreconvertstring

//=imr_querycharposition

//=imr_documentfeed )

3、lpinputcontext winapi immlockimc( //獲取當前imc的inputcontext結構資訊,增加imc 計數器

himc himc //當前應用程式控制代碼 )

成功返回inputcontext 結構指標,否則為null

4、bool winapi immunlockimc( //釋放imc計數器

himc himc //當前應用程式控制代碼 )

返回:如果imc計數器被減少到0了,返回false,否則為true.

注意:immlockimc與immunlockimc必須成對出現,必須是相同的himc

5、himcc winapi immgetimclockcount( //取計數器值

himc himc //當前應用程式控制代碼 )

如果成功返回himc的計數器值,否則為null.

6、himcc winapi immcreateimcc( //建立inputcontext結構的乙個成員

dword dwsize //成員的緩衝區長度 )

如果成功返回imc的成員控制代碼,否則為null

7、himcc winapi immdestroyimcc( //刪除imc成員緩衝區

himcc himcc //被刪除的imc的成員 )

如果成功返回null,否則等於該himcc.

8、lpvoid winapi immlockimcc( //取imcc緩衝位址,同時使imcc的計數器值增加

himcc himcc //imc成員控制代碼 )

if the function is successful, the return value is the pointer for the imc component. otherwise, the return value is null.

9、bool winapi immunlockimcc( //遞減imcc計數器

himcc himcc //imc成員控制代碼 )

如果imcc的計數器值為零,則返回 false,否則為true.

10、himcc winapi immresizeimcc( //重新設定imc的成員的緩衝區大小

himcc himcc, //imc的成員控制代碼

dword dwsize //新緩衝區大小 )

如果成功,返回新的himcc,否則為 null.

11、dword winapi immgetimccsize( //取imc成員的緩衝區大小

himcc himcc //imc成員控制代碼 )

返回imc成員的緩衝區大小

12、dword winapi immgetimcclockcount( //返回imcc計數器值

himcc himcc //imc成員的控制代碼 )

成功返回該imcc的計數器值,否則為0

13、bool winapi immgethotkey( //取輸入法狀態鍵,該函式供控制面板使用

dword dwhotkeyid,

lpuint lpumodifiers,

lpuint lpuvkey,

lphkl lphkl )

14、bool winapi immsethotkey( //設定輸入法的熱鍵

dword dwhotkeyid,

uint umodifiers,

uint uvkey,

hkl hkl )

15、hwnd winapi immcreatesoftkeyboard( //產生乙個軟鍵盤

uint utype, //軟體盤上的鍵碼含義的定義方式

//=softkeyboard_type_t1

//=softkeyboard_type_c1

uint howner, //該輸入法的ui視窗

int x, //定位座標

int y //定位座標 )

成功返回軟鍵盤的視窗控制代碼

16、bool winapi immdestroysoftkeyboard( //銷毀軟鍵盤

hwnd hsoftkbdwnd //軟鍵盤視窗控制代碼 )

成功為true,否則為false.

17、bool winapi immshowsoftkeyboard( //顯示或隱藏軟鍵盤

hwnd hsoftkbdwnd, //軟鍵盤視窗控制代碼

int ncmdshow //視窗狀態=sw_hide 表示隱藏,=sw_shownoactivate表示顯示 )

如構成功返回 true. 否則為 false.

作業系統的i386 和x86的區別

x86 包含 i386 i386 僅僅是 x86 的一部分。x86 這裡的 x 本來就是乙個未知數性質的,他可以是 3 4 5 6 7 x86 是 intel 建立起來的 cpu 架構。他的 8086 8088 80286 80386 80486 pentium pentium pro pentiu...

x64版的Windows作業系統的設計目標

x64版有5大特徵,即 1.同時輕鬆支援32位win32程式及64位程式 2.在64位執行的程式 和32位執行的程式應該是同乙份 4.支援新的設計使之可以利用巨大位址空間及記憶體空間 5.支援32位既有程式。x64位平台並沒有出現win64 api,它仍然是熟悉的 win32 api 現在更合適的名...

軟體系統可靠性的衡量標準 x個9的意思?

衡量乙個軟體的可靠性有很多的方法和標準,但最近經常聽到和看到x個9的說法,本著不懂就查的精神,對其進行了翻閱,精簡解釋如下 x個9的說法一般針對的是大型軟體系統,一些小的軟體咱就不提了,那麼先看看定義。定義 x個9表示的是軟體系統在一年之內不宕機的概率,也可以換算成一年之內允許宕機的時間 100 x...