如何在运行时检测语言变化?(C#)

7
我希望检测用户何时在键盘上更改语言。 例如,我想知道用户是否正在使用英语,然后将语言更改为法语。 我希望从所有活动线程中检测到此更改。我的意思是,我想知道该更改何时发生在操作系统中,而不是某个特定的线程中。 我使用C#语言。(控制台应用程序) 有没有人可以帮我解决这个问题?如果有帮助,我将不胜感激。 谢谢。

用户更改了他的键盘布局,而不是语言和CurrentCulture。Windows将继续使用英语与他交流。更改语言需要注销+登录以及安装了适当的MUI包的Windows Ultimate版本。此时,您也将开始说法语。从控制台模式应用程序响应此操作是徒劳的。 - Hans Passant
@HansPassant,我的意思是当你在键盘上按下Alt + Shift时发生的相同情况.. 在这种情况下也是无法挽回的吗?如果是,为什么? - Aviv
2个回答

1

1
实际上我正在使用控制台应用程序。你有一些控制台应用程序的例子吗? - Aviv

0

1
那不是问题。 - Rotem
那么,我的意思是Aviv可能更专注于检测操作系统中输入语言的变化,我不确定你是否能够超越我在第一个stackoverflow链接中所描述的内容... - olydis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接