Capturing user events (button clicks etc) from another Windows application [closed]

守給你的承諾、 提交于 2019-11-28 06:37:49

问题


I'm looking to write a .Net Windows application that will capture how a user uses another running application.

The simplest form of this would be recording which buttons were clicked or menu items were opened. Capturing the button text or menu text would be enough.

I know this can be done by listening for events but was unsure how far this stretched. In Windows are you able to listen to another applications events or are they hidden from other applications?

If so, are there any .Net libraries I can use or open source projects to catch these events? Taking this further, turn these into generic events (im thinking lots of applications might fire events specific to them, so extracting general information is key)

If not, is the only solution to integrate my code with the application to gain access to the that applications events?

Many thanks


回答1:


If I understand your post correctly, you need something similar to Spy++ that can hook the Windows messages and tell you when that message gets fired.

Have a look at these links:

  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?



回答2:


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;

        }

    }

}


来源:https://stackoverflow.com/questions/8679307/capturing-user-events-button-clicks-etc-from-another-windows-application

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!