钩入其他应用程序的TextBox(生产力)

时间:2013-10-27 20:58:41

标签: c# .net windows winforms winapi

我正在创建一个辅助工具,帮助我在做某些事情时提高工作效率,我需要在桌面(而不是地铁)上监控外部应用程序(不是我制作的应用程序)的输入并监视某些符号被输入到文本框中,如果它们与我添加到列表中的内容相匹配,我的应用程序将使用我设置的其他内容替换外部应用程序中的特定输入。

我们如何在桌面上的给定外部应用程序中观看输入?程序是否有消息(比如我认为是W_MSG),当用户输入文本框时会发送消息?

1 个答案:

答案 0 :(得分:1)

此类场景的支持路由是UI Automation(请参阅UI Automation Fundamentals)。它是Microsoft Active Accessiblity的继承者,提供对GUI元素和事件的编程访问。

UI Automation Events Overview简要概述了您可以订阅的可用事件。 TextPattern.TextChangedEvent是一个有前途的候选人。

所有Windows标准控件都支持UI自动化。如果您的外部应用程序使用的GUI库不是基于Windows控件(如Qt),则无法使用UI自动化。