我正在创建一个辅助工具,可以帮助我在做某些事情时提高工作效率,我需要在桌面(不是 Metro)上监控外部应用程序(不是我制作的应用程序)中的输入,并注意某些符号被输入到文本框,如果它们与我添加到列表中的内容匹配,我的应用程序将用我设置的其他内容替换外部应用程序中的特定输入。
我们如何在桌面上查看给定外部应用程序中的输入?程序是否有消息(我认为是 W_MSG),当用户输入文本框时会发送消息?
像这样的场景支持的路线是 UI 自动化(请参阅UI 自动化基础知识)。它是 Microsoft 的 Active Accessiblity 的继任者,并提供对 GUI 元素和事件的编程访问。
UI 自动化事件概述简要概述了您可以订阅的可用事件。TextPattern.TextChangedEvent是一个有前途的订阅者。
所有 Windows 标准控件都支持 UI 自动化。如果您的外部应用程序使用不基于 Windows 控件(如 Qt)的 GUI 库,则您无法使用 UI 自动化。