用C 控制當前輸入法

2021-04-25 18:52:11 字數 1083 閱讀 5345

如何獲取系統中所有的輸入法,以及如何根據輸入語言及其他特殊要求選擇特定的輸入法,下面我以兩段程式片斷再加以說明。

1)遍歷系統中所有的輸入法,可以用以下程式片斷:

foreach(inputlanguage lang in inputlanguage.installedinputlanguages)

執行的結果類似:

name> chinese (simplified) - microsoft pinyin ime 3.0

culture> zh-cn

name> chinese (simplified) - us keyboard

culture> zh-cn

name> chinese (traditional) - new phonetic

culture> zh-tw

name> japanese input system (ms-ime2002)

culture> ja-jp

name> chinese (traditional) - us keyboard

culture> zh-tw

name> japanese

culture> ja-jp

得到系統中所有的輸入法以後,就可以通過culture和name來選擇特定的輸入語種和輸入法。

2)切換到簡體中文輸入法

if(inputlanguage.defaultinputlanguage.layoutname.indexof("keyboard")==-1 && inputlanguage.defaultinputlanguage.culture.name.equals("zh-cn"))

else}}

在這段程式中,首先對系統預設的輸入法進行判斷,如果預設輸入法的culture是zh-cn,而且輸入法名字中不包含"keyboard"字樣,說明預設輸入法是一種簡體中文輸入法,而且不是"chinese (simplified) - us keyboard",這時就將系統預設的輸入法作為當前輸入法。

如果以上條件不滿足,則對系統中安裝的所有輸入法進行遍歷,將遍歷時所遇到的第一種culture為zh-cn而且輸入法名字不包含"keyboard"字樣的輸入法作為當前輸入法。

c 檢測中英輸入法 用C 控制當前輸入法

如何獲取系統中所有的輸入法,以及如何根據輸入語言及其他特殊要求選擇特定的輸入法,下面我以兩段程式片斷再加以說明。1 遍歷系統中所有的輸入法,可以用以下程式片斷 foreach inputlanguage lang in inputlanguage.installedinputlanguages th...

輸入法控制

unit u ime inte ce implementation uses windows,forms,imm,sysutils,messages varstmpclassname,stmpime string 失去焦點時的控制項名稱和輸入法名稱 msghandle hhook 0 判斷當前類名是...

控制輸入法演示

部落格 開發一般的b s架構的管理型別應用,都需要大量錄入表單。如果能依據輸入的內容的型別,智慧型的切換輸入法,那可太人性化了。比如 錄入中文姓名時自動換成中文輸入法,錄入英文名時自動換成英文輸入法,錄入數字時只有錄入1 9。演示的截圖 演示的html 如下 其中使用了js jquery.js,你自...