以编程方式更改WinXP语言
问题描述:
如何以编程方式使用.Net 2.0(或pInvoke)更改WinXP中使用的语言。用户无权访问我正在处理的应用程序中的任务栏,因此输入法需要反映应用程序的选定语言。我需要能够在不重新启动应用程序的情况下,将语言从左到右交换到从右到左再返回。虽然可以重新创建控件。以编程方式更改WinXP语言
答
语言应安装在系统中,请检查下面的代码它改变语言为阿拉伯语在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在系统中定义的语言之间进行切换。