Windows Vista/7 取所有安裝的輸入法? |
答題得分者是:inglong
|
superman
一般會員 發表:3 回覆:5 積分:1 註冊:2003-09-15 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
哦! 我不是要回解答, 只是看那麼久沒有人有答案, 而我也是有這個問題
//這是在xp下可以取得輸入法的code, 要uses imm //偵測目前作用中的輸入法檔案名稱 function TSysUT.GetImeFileName: string; var szImeFileName: array[0..MAX_PATH] of char; begin if ImmGetDescription(GetKeyboardLayout(0), szImeFileName, MAX_PATH) <> 0 then result:= AnsiUpperCase(StrPas(szImeFileName)) else result:= ''; end; |
inglong
初階會員 發表:28 回覆:27 積分:36 註冊:2004-08-13 發送簡訊給我 |
從vista之後就不支援Ime了,改成一個叫Text Service的東東,可是我看delphi 20007 、 delphi 2009 裡面還是用Ime的方式去切換輸入法。delphi 2010不知道有沒有解。
之前參考這篇要去修改切換輸入法,結果試了很久試不出來。。。最多取到語系,輸入法取出不來。 http://delphi.ktop.com.tw/board.php?cid=30&fid=76&tid=88526 最後乾脆從C#去把那個TextService的東東弄成Com,再來餵給delphi。
------
何需Coding爭峰 千人指 萬人鋒 敢問Coding頂峰 三尺秋水塵不染 天下無雙 |
superman
一般會員 發表:3 回覆:5 積分:1 註冊:2003-09-15 發送簡訊給我 |
|
inglong
初階會員 發表:28 回覆:27 積分:36 註冊:2004-08-13 發送簡訊給我 |
我是用visual stdio去轉的 因為vista 跟 windows 7 都至少會裝 .net framework 所以不用擔心客戶那邊的問題 至於com的部分我就不能提供啦 抱歉^^" 不過我可以給你visual stdio的程式碼 其實也只是參考 code6421 前輩的文章轉的 使用此方法要判斷 作業系統是哪一版 因為xp 2000 還是可以使用 ime 來呼叫輸入法的 檔案我放在這 http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=99979
------
何需Coding爭峰 千人指 萬人鋒 敢問Coding頂峰 三尺秋水塵不染 天下無雙 |
superman
一般會員 發表:3 回覆:5 積分:1 註冊:2003-09-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |