0

您如何通过 Sikuli 脚本获取应用程序的整个区域?我正在尝试获取整个窗口,而无需找到特定的屏幕截图图像。我现在有以下代码:

app = App("app.exe")
app.focus()
appwindow=app.window()
popup("["+str(appwindow.getX())+","+str(appwindow.getY())+","+str(appwindow.getW())+","+str(appwindow.getH())+"]"

上面显示“[0,0,1,1]”这不是我需要的实际区域。

有问题的应用程序有多个窗口,其中一些的 X 和 Y 坐标为 0,0 - 其中一些没有。我只想要应用程序的整个视觉表面。我怎么得到它?

4

1 回答 1

0

正如您自己已经发现的那样,window()方法已经返回 aRegion但在您的情况下,应用程序正在生成多个窗口。

Microsoft Windows 操作环境通过为其分配句柄或 hWnd 来识别应用程序中的每个表单。hWnd 属性用于 Windows API 调用。

据我了解,您没有获得所有区域的原因window()是在 Sikuli 中实施方法的方式。在内部,它调用了一个本地getHwnd(pid, winNum)方法,但它错误地假设一个进程只有一个 HWND。

参考1

参考文献 2

于 2017-11-09T04:10:43.513 回答