我想更改事件窗口的输入语言。
问题是事件窗口不是我的应用程序。
我知道 InputLanguage.CurrentInputLanguage = lang;
但它会更改我的 WinForms 应用程序的语言,而不是事件应用程序的语言。
总结:我的情况是我的程序监听任何键盘事件(即使当 它没有聚焦)并在我按下 F1 时执行代码。
我希望按 F1 将记事本中的语言更改为希伯来语,记事本是我按 F1 时激活的应用程序。
我对低级解决方案或高级解决方案感兴趣。
最佳答案
您应该知道另一个应用程序的hWnd
并为其发布消息
public void InputLangChangeRequest(IntPtr hwnd, InputLanguage language)
{
IntPtr handle = InputLanguage.Handle;
PostMessage(hwnd, WM_INPUTLANGCHANGEREQUEST, IntPtr.Zero, handle);
}
关于c# - 更改另一个应用程序的输入语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10056637/