通用点位置

时间:2012-07-25 18:48:04

标签: c# winforms

有没有办法知道点的通用坐标?

我的意思如下:
当应用程序最大化时,我们可以通过单击(500; 500)按下按钮; 如果在应用程序窗口为600x600时可以知道点击哪个点按下按钮;

等等。是否有任何函数来计算这一点?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我认为没有通用功能,因为任何开发人员都可以根据屏幕尺寸更改外观。

然而,不同的方法可能有效:

  1. 以某种方式获取感兴趣的按钮/元素的句柄,然后只需调用其单击的命令,或使用该句柄获取屏幕上的坐标位置。

    • 例如,对于网页,您可以按名称(或ID)获取特定的HTMLElement,然后从那里开始向后工作。

    • 如果它是Windows窗体应用程序,您实际上可以获得该应用程序窗口的句柄,然后通过遍历它们来获取所需的元素/组件。

  2. 在不同的最大化/恢复/移动下创建按钮位置列表,并从中计算函数。 (也许制作一个计算机程序来帮助解决这个问题。)

  3. 作为最后的手段,就像随机移动按钮以混淆机器人的应用程序(我想不出任何现实生活中的例子),您可能需要对屏幕截图进行图像分析。

  4. Visual Studio中的/ spy ++工具有一个finder工具,可以帮助获取windows应用程序的窗口/元素名称。