如何知道当前的键盘是不是美国国际键盘?

时间:2018-07-16 17:03:01

标签: c# uwp

仅美国英语中就有许多键盘。如何知道用户现在正在使用哪种键盘布局?特别是他是否正在使用美国国际键盘。我已经尝试过,

private void TextServiceManager_InputLanguageChanged(CoreTextServicesManager sender, object args){        
Debug.WriteLine(GetCurrentCultureInfo().AllProperties + " " +
sender.InputLanguage.DisplayName + " " +
sender.InputLanguage.LanguageTag + "  " +
sender.InputLanguage.Script + "  " +
sender.InputLanguage.NativeName);}

但是无法做到这一点!

2 个答案:

答案 0 :(得分:0)

string StrCurrentLang = InputLanguage.CurrentInputLanguage.Culture.TwoLetterISOLanguageName;

上一行代码为您提供当前语言的最后两个字母符号

另一方面,您可以使用下段代码来更改当前语言

    foreach (InputLanguage lang in InputLanguage.InstalledInputLanguages)
    {

        if (lang.Culture.TwoLetterISOLanguageName != "us")
        {
            InputLanguage.CurrentInputLanguage = lang;
            return;
        }
    }

答案 1 :(得分:-1)

您可以使用this API获取当前的键盘布局(P/Invoke版本),这将告诉您用户选择了哪种键盘布局。这可能与连接的物理键盘不同。