微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

更改系统语言C#

我正在编写一个应用程序,当应用程序本身不是FOCUSED时,我需要更改系统的语言。 恐怕唯一的办法就是使用目前我不能完全理解的windows钩子。 有什么想法吗?

编辑:解决scheme

[DllImport("user32.dll")] private static extern bool PostMessage(int hhwnd,uint msg,IntPtr wparam,IntPtr lparam); [DllImport("user32.dll")] private static extern IntPtr LoadKeyboardLayout(string pwszKLID,uint Flags); private static uint WM_INPUTLANGCHANGEREQUEST = 0x0050; private static int HWND_broADCAST = 0xffff; private static string en_US = "00000409"; private static uint KLF_ACTIVATE = 1; private static void ChangeLanguage() { PostMessage(HWND_broADCAST,WM_INPUTLANGCHANGEREQUEST,IntPtr.Zero,LoadKeyboardLayout(en_US,KLF_ACTIVATE)); }

从dynamic数组中find唯一的整数和

如何在.net中为Windows服务设置ACL?

与崩溃转储相比,WinDbg在附加到进程时显示不同的调用堆栈

C#comboBox与计时器的时间过去了

什么是Application Server for ASP.NET?

C#WinForms托盘应用程序 – 不捕获Windows关机事件

启动一个执行委托的新进程

如何从dns域名获得简短的“域名”?

在Windows 8上使用简单的Windows窗体/ WPF应用程序是否适用于平板电脑?

WM_GETFONT与标准的flatstyle问题

你可以试试这个使用Windows API调用的答案 。

要更改输入语言,您可以使用以下代码

private void ChangeKeboardLayout(System.Globalization.CultureInfo CultureInfo) { InputLanguage c = InputLanguage.FromCulture(CultureInfo); InputLanguage.CurrentInputLanguage = c; }

你可以在你的应用程序(或你的线程)打开的时候这么做。

我认为,映射另一个键盘布局和“翻译”输入而不是改变窗口设置会更容易,尤其是没有用户的比赛。

在我完成答案之前,ahmadali shafiee发布了我想要的代码。 高雅,随它去吧。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐