从另一个Windows应用程序捕获用户事件(按钮单击等)

时间:2011-12-30 12:10:49

标签: c# windows events open-source event-capturing

我正在寻找一个.Net Windows应用程序,它将捕获用户如何使用另一个正在运行的应用程序。

最简单的形式是记录点击了哪些按钮或打开了菜单项。捕获按钮文本或菜单文本就足够了。

我知道这可以通过听取事件来完成,但不确定这有多远。在Windows中,您是否能够收听其他应用程序事件,或者它们是否隐藏在其他应用程序中?

如果是这样,我可以使用任何.Net库或开源项目来捕获这些事件吗?进一步考虑,将这些转化为通用事件(我认为许多应用程序可能会触发特定于它们的事件,因此提取一般信息是关键)

如果没有,是将我的代码与应用程序集成以获取对该应用程序事件的访问权限的唯一解决方案吗?

非常感谢

2 个答案:

答案 0 :(得分:0)

如果我正确理解你的帖子,你需要类似于Spy++的东西,它可以挂钩Windows消息并告诉你何时该消息被触发。

看看这些链接:

  1. Deliver The Power Of Spy++ To Windows Forms
  2. Spying Window Messages from the Inside
  3. How can I get functionality similar to Spy++ in my C# app?

答案 1 :(得分:-1)

private void CaptureCameraCallback()

{

    using (CvCapture cap = CvCapture.FromCamera(CaptureDevice.Any, 1))

    {

        while (true)

        {

            Bitmap bm = BitmapConverter.ToBitmap(cap.QueryFrame());

            bm.SetResolution(pctCvWindow.Width, pctCvWindow.Height);

            pctCvWindow.Image = bm;

        }

    }

}