資訊無涯,回頭已不見岸

調整Windows 8/Server 2012的中文輸入法順序

會研究到這個其實不是原始的目標,主要是前一陣子跟同事分享我找出的英數設定機碼時,也就是前一篇文章的內容,同事也跟我討論到她前陣子遇到的客戶問題,於是就一頭栽進去研究她的客戶問題是否有更好的解法,因為我對這問題還蠻有興趣的。但中間在測試過程遇到一點小狀況,再跟同事討論了她先前的解法,同時她又提到中文輸入法的順序問題,也就是安裝了多個中文輸入法時,該如何將想要的輸入法列為優先。

在 Windows 7 其實就有內建調整輸入法順序的介面。

但我在 Windows 8 並沒有看到這樣功能介面,假使真的想要調整順序,就必須很蠢地刪除最優先的,再依序新增以調整出想要的順序。或許有人跟我一樣也會想到 IMETool 這個知名工具,但這支工具絕對看不到大家想調整的中文輸入法。

以新增了 US 的輸入法來說,其結果就是在這個「語言」頁面,而且調整的順序就是這個頁面看到的語言順序。

Windows 7 及現行 IMETool 工具調整輸入法的順序,其實是針對在這個位置的機碼值。

HKCU\Keyboard Layout\Preload

但到了 Windows 8 / Server 2012,原來中文輸入法順序的機碼位置已經新增並改寫在這裡。

HKCU\Control Panel\International\User Profile\zh-Hant-TW

既然已經找出位置,我們要做的就很簡單,只要知道中文輸入法的機碼名稱,再修改其資料的數字大小就好了。

以系統內建的五個輸入法來說,其 DWORD 機碼名分別為:
中文繁體大易 (version 6.0) - 0404:{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}{037B2C25-480C-4D7F-B027-D6CA6B69788A}
中文繁體行列 (version 6.0) - 0404:{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}{D38EFF65-AA46-4FD5-91A7-67845FB02F5B}
微軟倉頡 - 0404:{531FDEBF-9B4C-4A43-A2AA-960E8FCDC732}{4BDF9F03-C7D3-11D4-B2AB-0080C882687E}
微軟速成 - 0404:{531FDEBF-9B4C-4A43-A2AA-960E8FCDC732}{6024B45F-5C54-11D4-B921-0080C882687E}
微軟新注音 - 0404:{531FDEBF-9B4C-4A43-A2AA-960E8FCDC732}{B2F9C502-1742-11D4-9790-0080C882687E}

假設希望切換中文輸入法時,先後依序為是倉頡、速成和新注音。只要比對機碼,甚至是直接新增上述 DWORD 值,修改其資料值,就能立馬新增中文輸入法及調整順序。

完成,有圖有真相。要繼續研究原來的問題了 /=.=/

1 則留言

  1. Guruqiu

    好用的資訊. 感恩! 推!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

© 2024 蘇老碎碎唸

Theme by Anders NorenUp ↑