我正在尝试实施一项可以监视语言/布局更改的服务。我在英语和俄语之间切换。到目前为止,我已经找到了这个问题并尝试实施和安装那里建议的两个接收器。但是,也有问题。ITfActiveLanguageProfileNotifySink::OnActivated
根本没有触发;ITfLanguageProfileNotifySink::OnLanguageChange
也没有被触发;ITfLanguageProfileNotifySink::OnLanguageChanged
仅当我的程序的主窗口处于前台时触发,但它不包含有关语言的任何信息。有没有办法在全球范围内监控输入语言更改事件?
问问题
135 次
1 回答
0
我找到了另一种检测此类更改的方法:将SetWindowsHookEx与WH_SHELL
. 可用的事件之一HSHELL_LANGUAGE
正是我需要的,并且测试项目似乎工作得很好。Alexander Shestakov的一篇文章描述了一个与我想要实现的程序非常相似的程序,并且它还有一个指向我用作示例的 github 项目的链接。
于 2022-02-11T14:34:41.933 回答