C# - 在相同的键盘布局中自动在两个不同的IME之间切换

Mag*_*dud 2 c# localization cjk ime

我做了一个申请,在数据库中输入汉语拼音和汉字.这意味着操作员必须通过ctrl + shift在"Pinyinput"和"sogou input"之间不断切换.当选择文本框时,有一种方法可以使IME自动更改吗?我的意思是,不是切换键盘布局,只是相同键盘布局的输入方法

Wae*_*oul 5

试试这个,我不确定语言的名称,尝试调试它并获得正确的名称,如果它不起作用.

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

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

        }


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

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

        }
Run Code Online (Sandbox Code Playgroud)

如果它不起作用,您需要将以下行更改为正确的lang名称:

CName.StartsWith("langName")
Run Code Online (Sandbox Code Playgroud)