如何监视第三方应用程序中的不同事件

时间:2014-03-21 03:03:32

标签: c# windows events user-interface

我正在开发一个C#应用程序。我正在寻找一种方法来监控第三方应用程序中的不同事件。

示例1:计算器正在运行,我想知道用户何时单击了“=”按钮。 示例2:Skype正在运行,我想监视用户何时点击“呼叫”按钮。 示例3:Word正在运行,我想监视用户何时打开“字体”下拉列表。

我不是在寻找简单的鼠标或键盘事件。

2 个答案:

答案 0 :(得分:1)

看看EventSpy,这两种接缝都可以满足您的需求。

http://www.codeproject.com/Articles/11918/EventSpy

http://eventspy.codeplex.com/

答案 1 :(得分:0)

您基本上需要点击“Windows Messaging”循环。为了正确过滤飞过的GAZILLION消息,您还需要能够定期扫描所有活动窗口,看看哪些(如果有的话)与您相关。 请注意,Windows的整个子系统都是GIANT安全漏洞。 (自从NT4 / W95 / W98天以来我没有用过很多东西,所以他们可能试过“保护”它从那以后它可能比以前更难。 您将需要一个好的ide /第三方工具来帮助您开始了解您正在寻找的内容。

在“之前”的生活中,我们使用这种基本技术通过监视某些窗口,控件等的存在以及“注入”消息到Windows Messaging来获得~4,000个工作站来安装他们自己的软件,更新,补丁等。循环来控制应用程序安装程序,未存储在注册表中的配置更改等等......