博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF 获得当前输入法语言区域
阅读量:4503 次
发布时间:2019-06-08

本文共 1520 字,大约阅读时间需要 5 分钟。

原文:

本文告诉大家如何获得 WPF 输入法的语言区域

需要使用 user32 的方法,很简单,请看下面

[DllImport("user32.dll")] static extern IntPtr GetForegroundWindow();        [DllImport("user32.dll")] static extern uint GetWindowThreadProcessId(IntPtr hwnd, IntPtr proccess);        [DllImport("user32.dll")] static extern IntPtr GetKeyboardLayout(uint thread);        public CultureInfo GetCurrentKeyboardLayout()        {
try {
IntPtr foregroundWindow = GetForegroundWindow(); uint foregroundProcess = GetWindowThreadProcessId(foregroundWindow, IntPtr.Zero); int keyboardLayout = GetKeyboardLayout(foregroundProcess).ToInt32() & 0xFFFF; return new CultureInfo(keyboardLayout); } catch (Exception) {
return new CultureInfo(1033); // Assume English if something went wrong. } }

因为没有提供语言区域变化的事件,所以需要自己写一个循环来获取

在界面添加一个 TextBlock 请看下面

这样可以在后台代码给一个值

private async void HairjurNalllairmo()        {
while (true) {
await Task.Delay(100); CeareamearTreseretal.Text = GetCurrentKeyboardLayout().DisplayName; } }

这时修改语言区域就可以看到变化

参见


本文会经常更新,请阅读原文: ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 。

posted on
2019-01-04 10:37 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/10218500.html

你可能感兴趣的文章
2017年6月9日10:12:40 了解自己才能掌控自己 与 深度学习
查看>>
Android 手机的屏幕分辨率大小汇总
查看>>
PhpStorm修改字体
查看>>
经典的一款jQuery soChange幻灯片
查看>>
response.write不要放到try里去,不然会报一个错误 a instance object什么的
查看>>
Charles 连接手机抓包出现Unknown,一直无法抓包的问题解决
查看>>
快速排序(Quick Sort)的C语言实现
查看>>
VIM-->基础操作汇总
查看>>
oracle cursor
查看>>
Response.StatusCode的HTTP状态代码列表
查看>>
win7下maven安装和配置
查看>>
C# 多线程编程 ThreadStart ParameterizedThreadStart
查看>>
Android Camera Parameters 方法出错,求教
查看>>
一个仿照系统UIAlertView写的提示框
查看>>
Genymotion集成到Eclipse
查看>>
代码简洁之四 统一抽象层次
查看>>
IOS 缩放图片常用方法
查看>>
极速理解设计模式系列:1.建造者模式(Builder Pattern)
查看>>
软件工程课
查看>>
Pycharm-连接服务器
查看>>