1. 程式人生 > >讓 Win8.1 微軟拼音新體驗模式支援 Metro 應用

讓 Win8.1 微軟拼音新體驗模式支援 Metro 應用

內容回顧:

在 [1] 中,我們找回了 Win8 裡的微軟拼音新體驗模式;在 [2] 中,依照 ePig 提供的方法,我們在 Win8.1 中也搬回了微軟拼音新體驗模式,但留下了一點遺憾,不支援 Metro 應用。

image

(其實還有一點,沒有顯示圖示。)

原本我覺得無所謂,因為我反正不太用 Metro 應用,Metro 下就用自帶的微軟拼音簡捷模式好了。可是,可是,輸入法管理器中,比如保留一個相容 Metro 的輸入法,導致桌面下也比如保留簡捷模式了,這樣切換輸入法經常切錯,離所謂“一個輸入法”的偉大目標相差甚遠。於是乎,不能忍。然後昨天起來看了下這個問題。

原先微軟拼音輸入法的一個不知什麼的GUID是 {81d4e9c9-1d3b-41bc-9e6c-4b40bf79e35e},該 GUID 代表的輸入法下有兩個輸入模式,新體驗和簡捷。(這個構架和相關內容我不是很懂,具體請去查閱 TSF (Text Service Framework) 框架相關文件。) Win 8 下只是刪除了新體驗模式的那個登錄檔項並對登錄檔項加許可權保護達到禁用目的。Win8.1 下的變化是,老的檔案被刪除了,且 {81d4e9c9-1d3b-41bc-9e6c-4b40bf79e35e} 被用作新的微軟拼音的 GUID 了,裡面也不再分兩個模式了(其實只有原先的簡捷模式)。按照

ePig 提供的方法,從 Win8 中複製相關檔案,並把檔案中的 GUID 改了,重新註冊進去。這邊我在一鍵恢復工具所帶的檔案中是把 GUID 末尾 e 改為了 f,完整的就是 {81D4E9C9-1D3B-41BC-9E6C-4B40BF79E35F}。按道理應該完全相容才是,起碼 Win8 下是支援 Metro 的。微軟拼音很早就是 TSF 框架了(而不是 Imm),據我之前的瞭解,要支援 Metro,輸入法使用 TSF 框架就好了。

想不通的情況下,就來比較下 Win8.1 下自帶的微軟拼音(簡捷模式)和我們新加的微軟拼音新體驗模式的登錄檔項差異:

image

發現自帶的多了幾項(紅框部分)。於是仿照著把這些補上去,結果確實不顯示“僅適用於桌面版”了,可是好像也沒法輸入了……於是每次只加一項,依次試過去(窮舉法,鄙視)。最後發現前兩個 ,也就是 {13A016DF-560B-46CD-947A-4C3AF1E0E35D}、{25504FB4-7BAB-4BC1-9C69-CF81890F0EF5} 可以要,最後 {74769ee9-4a66-4f9d-90d6-bf8b7c3eb461} 不能要。

再看下 Win8 的,果然也是有這兩個 Category 的:

image

然後這事情就算成了:

image

那麼這兩個 GUID 到底是什麼呢?Google 一下……

宣告相容性

IME 通過使用 ITfCategoryMgr::RegisterCategory 為其 IME 註冊類別 GUID_TFCAT_TIPCAP_IMMERSIVESUPPORT 來宣告其相容 Windows 應用商店應用。

其中 GUID_TFCAT_TIPCAP_IMMERSIVESUPPORT 就是 {13A016DF-560B-46CD-947A-4C3AF1E0E35D}。

{25504FB4-7BAB-4BC1-9C69-CF81890F0EF5} 也是個預定義的值,叫做 GUID_TFCAT_TIPCAP_SYSTRAYSUPPORT,按字面理解,系統托盤支援,可是查不到官方說明啊,

http://msdn.microsoft.com/en-us/library/ms629012.aspx 這一頁啥也不說,是不是bug……

不管怎麼說,問題是解決了。大快人心。

再順便黑下大微軟。

無標題

看這張圖,我在寫程式碼或寫Word或者寫別的文字,開著中文語言下的中文輸入法(寫程式碼怎麼會開中文?不要在意這些細節……),然後來了條 QQ 訊息。我去工作列點企鵝圖示。結果剛點下,因為工作列、桌面是英文語言下的美式鍵盤,輸入法指示器變為 ENG,縮短了,企鵝圖示跑右邊去了,點空了!!!

正因為如此,我以前總是把英文語言刪掉,只有中文語言,下面一個輸入法,靠 Shift 在輸入法內切換中英文。可是 Shift 很容易誤操作有木有。最佳的方式還是中文語言下的美式鍵盤……這個問題很早之前研究過幾個小時,但沒啥結果,後來想,如果真的沒辦法了,乾脆寫一個空的輸入法原樣輸入輸出,叫做“美式鍵盤”得了。為啥中文下就不給鍵盤佈局呢?為什麼呢為什麼呢為什麼呢?

image

這下同在中文語言下了,Ctrl+Shift 切輸入法,怎一個舒服了得~!至此,Win8、Win8.1 的輸入法問題對我個人而言已經全部解決了,可以大規模重灌系統了。

posted on 2014-04-20 11:22 溪流 閱讀(4807) 評論(3)  編輯 收藏 引用 所屬分類: Windows