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

C# 从另一个Windows应用程序捕获用户事件(按钮单击等),c#,windows,events,open-source,event-capturing,C#,Windows,Events,Open Source,Event Capturing,我希望编写一个.Net Windows应用程序,它将捕获用户如何使用另一个正在运行的应用程序 最简单的形式是记录单击了哪些按钮或打开了哪些菜单项。捕获按钮文本或菜单文本就足够了 我知道这可以通过倾听事件来实现,但不确定这会延伸多远。在Windows中,您是否能够侦听其他应用程序事件,或者这些事件是否对其他应用程序隐藏 如果有的话,我是否可以使用任何.Net库或开源项目来捕获这些事件?更进一步,将它们转换为通用事件(我认为许多应用程序可能会触发特定于它们的事件,因此提取通用信息是关键) 如果不是,

我希望编写一个.Net Windows应用程序,它将捕获用户如何使用另一个正在运行的应用程序

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

我知道这可以通过倾听事件来实现,但不确定这会延伸多远。在Windows中,您是否能够侦听其他应用程序事件,或者这些事件是否对其他应用程序隐藏

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

如果不是,那么将我的代码与应用程序集成以访问该应用程序事件的唯一解决方案是什么


非常感谢

如果我正确理解了你的帖子,你需要类似的东西来钩住Windows消息并在消息被触发时告诉你

请查看以下链接:


  • 我曾经写过一个程序,记录了一个用户的活动日志,也就是说,哪个窗口是打开的,他们在键入什么,如果他们在任何地方点击。我不确定你是否能将其扩展到能够说出他们特别强调的内容。你是如何获得这些信息的?您是否只能记录打开的窗口和鼠标所在的位置?我想这些事件应该是windows级别的。你是对的,我想我正在寻找包含在窗口中的信息。。。我创建了一个Windows服务,它将在后台运行并输出到一个txt文件。我认为
    User32.dll
    具有获取打开窗口和窗口内文本的功能。啊,我明白了,听起来是开始查找的正确位置。谢谢,太棒了!事实证明,这些联系非常宝贵。谢谢。如果其他人偶然发现了这篇老文章,并且正在寻找第一个链接“传递力量…”中引用的文章,你会在2006年4月的期刊上找到它。上面的链接会将您带到主列表,但不再直接链接到文章或问题。
    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;
    
            }
    
        }
    
    }