程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> Dot Net中InputLanguage對象的使用限制

Dot Net中InputLanguage對象的使用限制

編輯:關於C#
 

在Dot Net中,InputLanguage對象是“提供方法和字段以管理輸入語言。無法繼承此類。”

  InputLanguage對象中InstalledInputLanguages方法獲得系統已經安裝的輸入法;CurrentInputLanguage方法是獲取或設置當前輸入法;DefaultInputLanguage方法是獲取系統的默認輸入法。通過InputLanguage對象的這三個方法,可以設置指定的輸入法。

  而在筆者將程序給他人使用時,卻意外的在其中一台機器上報錯。由於是已經編譯好的程序,而且又不在筆者的身邊,故只知道是InputLanguage對象出了問題,而具體的錯誤編號不知道。

  通過QQ遠程觀看了錯誤的提示後,第一感覺就是他沒有裝中文輸入法。可是,他明明裝了輸入法,有搜狗、QQ拼音等。輸入法使用也正常。

  出於直覺,查看他的“文字服務和輸入語言”窗口。正常的應該象下面一樣。

  可是意外的現象出現了,在他的電腦上這個是一片空白,下面提示一行字“檢測到不兼容的鍵盤驅動程序該對話框已經被禁用”。

  在網上搜了搜解決方法。發現由於種種原因,系統注冊表中HKEY_LOCAL_MACHINE\SYSTEMCurrentControlSet\Control\Keyboard Layouts的鍵值下的內容全被刪除了。

  詳情參看“文字服務和輸入語言的選項顯示空白”。

  按照上文的方法,將缺失的注冊表部分導入到他的系統中。OK!解決了。不再報錯。

  由此可以知道,InputLanguage對象是通過訪問注冊表來控制輸入法的。一旦注冊表的內容有誤。也就導致了錯誤的產生。

  不過,難以理解的是為何注冊表出錯,而輸入法卻能正常使用。

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