技巧 如何禁止輸入法切換到全形狀態

2021-08-22 12:28:22 字數 636 閱讀 5096

如果你不願意看解決過程,答案就是:註冊熱鍵。以下廢話可以略過。

不知道大家有沒有和我一樣的煩惱。我在delphi中程式設計的時候,由於需要使用alt+shift+space來檢視函式的宣告,但是輸入法的全形切換卻是:shift+space,所以很多時候,由於alt鍵沒有及時摁下,導致輸入法切換到了全形,這個時候,輸入的**全都變成了全形字符,很是麻煩。

於是就想到了避免這個情況的頻繁發生。

一開始,我考慮全形這個東東,完全可以不用嘛,所以輸入法應該直接支援配置的。可惜,我高估了所有的輸入法開發商,顯然他們並沒有考慮過這麼重要的需求。我沒有看到一款輸入法支援禁止全形的。

作業系統也一樣不支援。

後來我想,切換全形輸入法,應該是作業系統中的api支援的,如果鉤住這個api是不是可以呢?還真有,輸入法針對每乙個handle的控制項,都可以設定輸入法狀態,如果檢測到狀態修改,確實可以通過相關api切換回來。具體的**可以通過google得到。

但我對這個方案不是很滿意。

後來想到可以hook住shift+space的快捷鍵。但是在實驗的時候,突然想起其實這是系統熱鍵,可以通過重新註冊的方式,沖掉原來輸入法的註冊功能。這是乙個非常簡單的方法!經過實驗確實可行。現在我已經做了乙個小工具,在系統啟動的時候,自動執行起來。delphi程式設計再也沒有遇到全形的問題了。

技巧 如何禁止輸入法切換到全形狀態

如果你不願意看解決過程,答案就是 註冊熱鍵。以下廢話可以略過。不知道大家有沒有和我一樣的煩惱。我在delphi中程式設計的時候,由於需要使用alt shift space來檢視函式的宣告,但是輸入法的全形切換卻是 shift space,所以很多時候,由於alt鍵沒有及時摁下,導致輸入法切換到了全形...

技巧 如何禁止輸入法切換到全形狀態

如果你不願意看解決過程,答案就是 註冊熱鍵。以下廢話可以略過。不知道大家有沒有和我一樣的煩惱。我在delphi中程式設計的時候,由於需要使用alt shift space來檢視函式的宣告,但是輸入法的全形切換卻是 shift space,所以很多時候,由於alt鍵沒有及時摁下,導致輸入法切換到了全形...

如何切換中英文輸入法及全形 半形?(原創)

如何 切換中英文輸入法及 全形 半形?問題描述 如何切換中英文輸入法及 全形 半形 中英文本元等?解決方案 一 宣告外部函式 functionbooleanimmsimulatehotkey unsignedlonghwnd,unsignedlongdwhotkeyid library imm32....