2009-08-12 88 views
2

如何以編程方式使用.Net 2.0(或pInvoke)更改WinXP中使用的語言。用戶無權訪問我正在處理的應用程序中的任務欄,因此輸入法需要反映應用程序的選定語言。我需要能夠在不重新啓動應用程序的情況下,將語言從左到右交換到從右到左再返回。雖然可以重新創建控件。以編程方式更改WinXP語言

回答

0

語言應安裝在系統中,請檢查下面的代碼它改變語言爲阿拉伯語在C#:

public void ToArabic() 
    { 
     string CName= ""; 
     foreach(InputLanguage lang in InputLanguage.InstalledInputLanguages) 
     { 
      CName = lang.Culture.EnglishName.ToString(); 

      if(CName.StartsWith("Arabic")) 
      { 
       InputLanguage.CurrentInputLanguage = lang; 
      } 
     } 

    } 

返回它放回英語

public void ToEnglish() 
     { 
      string CName= ""; 
      foreach(InputLanguage lang in InputLanguage.InstalledInputLanguages) 
      { 
       CName = lang.Culture.EnglishName.ToString(); 

       if(CName.StartsWith("English")) 
       { 
        InputLanguage.CurrentInputLanguage = lang; 
       } 
      } 

     } 

可以使用這個代碼在你的應用程序中改變輸入語言。 用戶也可以按alt + shift在系統中定義的語言之間進行切換。

相關問題