如何獲取系統中所有的輸入法,以及如何根據輸入語言及其他特殊要求選擇特定的輸入法,下面我以兩段程式片斷再加以說明。
1)遍歷系統中所有的輸入法,可以用以下程式片斷:
foreach(inputlanguage lang in inputlanguage.installedinputlanguages)
this.textbox1.text += "\r\nname> "+lang.layoutname+"\r\nculture> "+lang.culture.name + "\r\n";
執行的結果類似:
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"))
inputlanguage.currentinputlanguage=inputlanguage.defaultinputlanguage;
else
foreach(inputlanguage lang in inputlanguage.installedinputlanguages)
if(lang.culture.name.equals("zh-cn") && lang.layoutname.indexof("keyboard")==-1)
inputlanguage.currentinputlanguage=lang;
break;
在這段程式中,首先對系統預設的輸入法進行判斷,如果預設輸入法的culture是zh-cn,而且輸入法名字中不包含"keyboard"字樣,說明預設輸入法是一種簡體中文輸入法,而且不是"chinese (simplified) - us keyboard",這時就將系統預設的輸入法作為當前輸入法。
如果以上條件不滿足,則對系統中安裝的所有輸入法進行遍歷,將遍歷時所遇到的第一種culture為zh-cn而且輸入法名字不包含"keyboard"字樣的輸入法作為當前輸入法。
用C 控制當前輸入法
如何獲取系統中所有的輸入法,以及如何根據輸入語言及其他特殊要求選擇特定的輸入法,下面我以兩段程式片斷再加以說明。1 遍歷系統中所有的輸入法,可以用以下程式片斷 foreach inputlanguage lang in inputlanguage.installedinputlanguages 執行...
在C 運用程式裡面控制輸入法
在windows系統一般都安裝了至少三種輸入法,在輸入資料時常常會切換輸入法,雖然windows系統提供了切換快捷健,但對輸入工作還是帶來了不少麻煩。如果在應用程式中為使用者提供智慧型輸入法自動切換,那麼這樣的應用程式就顯得更加專業 更加具有競爭力。不知你可用過access,在表資料輸入時acces...
在C 運用程式裡面控制輸入法
在windows系統一般都安裝了至少三種輸入法,在輸入資料時常常會切換輸入法,雖然windows系統提供了切換快捷健,但對輸入工作還是帶來了不少麻煩。如果在應用程式中為使用者提供智慧型輸入法自動切換,那麼這樣的應用程式就顯得更加專業 更加具有競爭力。不知你可用過access,在表資料輸入時acces...