Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从另一个应用程序捕获图标、工具提示和光标的图片_C#_Automation_Icons_Capture_Uia - Fatal编程技术网

C# 从另一个应用程序捕获图标、工具提示和光标的图片

C# 从另一个应用程序捕获图标、工具提示和光标的图片,c#,automation,icons,capture,uia,C#,Automation,Icons,Capture,Uia,我的目标是编写一个能够从另一个Microsoft应用程序(例如MS Excel)捕获的应用程序: 应用程序窗口的图片-如果有更多窗口,则每个应用程序窗口一张图片 鼠标悬停在图标上时所有图标的图片,包括按下鼠标时图标的图片 将显示在图标旁边的工具提示图片 如果在图标或应用程序窗口的不同区域上有特定光标,则显示鼠标光标的图片 最佳做法是什么 使用UIA,我可以得到窗口上所有图标的所有坐标。然后我可以在图标上设置鼠标位置,并一个一个地捕捉图标。程序将在每个图标上等待大约两秒钟,以捕获图标的工具提示

我的目标是编写一个能够从另一个Microsoft应用程序(例如MS Excel)捕获的应用程序:

  • 应用程序窗口的图片-如果有更多窗口,则每个应用程序窗口一张图片
  • 鼠标悬停在图标上时所有图标的图片,包括按下鼠标时图标的图片
  • 将显示在图标旁边的工具提示图片
  • 如果在图标或应用程序窗口的不同区域上有特定光标,则显示鼠标光标的图片
最佳做法是什么

使用UIA,我可以得到窗口上所有图标的所有坐标。然后我可以在图标上设置鼠标位置,并一个一个地捕捉图标。程序将在每个图标上等待大约两秒钟,以捕获图标的工具提示。然后,我可以告诉用户单击每个图标并捕获按下图标的图片。最后,我将在整个应用程序窗口上移动鼠标,并检测鼠标指针的任何变化。 还有更好的办法吗

关于捕获工具提示,已经存在一个问题,但没有解决方案:

所以我可以看出您已经做了一些变通方法,并且已经开始了。继续,实施POC并将其发布到此处。如果需要,可以进行优化。几年前,我已经使用一个旧的MSAA库实现了这个过程。现在我想知道是否有任何不同的(更快的)方法。