Windows输入语言更改为c#

本文关键字:输入 语言 Windows | 更新日期: 2023-09-27 18:02:50

我在Visual studio(windows应用程序)一个简单的程序工作,我需要知道当用户正在改变键盘语言(我不关心什么是语言或它现在是什么)。

我试过这个代码:

 private void MainForm_InputLanguageChanged(object sender, InputLanguageChangedEventArgs e)
    {
    }

但是只有当形式是活跃和集中的时候,它才会在形式中得到语言的变化!示例:我将打开Google chrome并更改语言,此函数将不会被调用。

我需要更改特定的windows键盘。不是表单输入语言改变..

这对我来说很重要,我已经为此伤脑筋一周了,所以请帮忙。

泰人。

Windows输入语言更改为c#

据我所知,在Windows中,输入语言是特定于进程的。因此你获得了应用程序的InputLanguageChanged事件。如果你想在全球范围内得到语言变化的通知,你应该自己去做。例如,定期检查活动窗口并使用GetKeyboardLayout API函数获取键盘布局。