0

我正在尝试实施一项可以监视语言/布局更改的服务。我在英语和俄语之间切换。到目前为止,我已经找到了这个问题并尝试实施和安装那里建议的两个接收器。但是,也有问题。ITfActiveLanguageProfileNotifySink::OnActivated根本没有触发;ITfLanguageProfileNotifySink::OnLanguageChange也没有被触发;ITfLanguageProfileNotifySink::OnLanguageChanged仅当我的程序的主窗口处于前台时触发,但它不包含有关语言的任何信息。有没有办法在全球范围内监控输入语言更改事件?

4

1 回答 1

0

我找到了另一种检测此类更改的方法:将SetWindowsHookExWH_SHELL. 可用的事件之一HSHELL_LANGUAGE正是我需要的,并且测试项目似乎工作得很好。Alexander Shestakov的一篇文章描述了一个与我想要实现的程序非常相似的程序,并且它还有一个指向我用作示例的 github 项目的链接。

于 2022-02-11T14:34:41.933 回答