程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 技巧:如何禁止輸入法切換到全角狀態

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

編輯:.NET實例教程

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

不知道大家有沒有和我一樣的煩惱。我在Delphi中編程的時候,由於需要使用Alt+Shift+Space來查看函數的聲明,但是輸入法的全角切換卻是:Shift+Space,所以很多時候,由於Alt鍵沒有及時摁下,導致輸入法切換到了全角,這個時候,輸入的代碼全都變成了全角字符,很是麻煩。

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

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

操作系統也一樣不支持。

後來我想,切換全角輸入法,應該是操作系統中的API支持的,如果鉤住這個API是不是可以呢?還真有,輸入法針對每一個Handle的控件,都可以設置輸入法狀態,如果檢測到狀態修改,確實可以通過相關API切換回來。具體的代碼可以通過google得到。

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

後來想到可以HOOK住Shift+Space的快捷鍵。但是在實驗的時候,突然想起其實這是系統熱鍵,可以通過重新注冊的方式,沖掉原來輸入法的注冊功能。這是一個非常簡單的方法!經過實驗確實可行。現在我已經做了一個小工具,在系統啟動的時候,自動運行起來。Delphi編程再也沒有遇到全角的問題了。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved