以编程方式更改WinXP语言

时间:2009-08-12 13:31:15

标签: localization windows-xp

如何使用.Net 2.0(或pInvoke)以编程方式更改WinXP中使用的语言。用户无法访问我正在处理的应用程序中的任务栏,因此输入方法需要反映应用程序的所选语言。我需要能够在不重新启动应用程序的情况下将语言从左到右交换为从右到左再返回。可以重新创建控件。

1 个答案:

答案 0 :(得分: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在系统中定义的语言之间切换。