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...