最佳答案:
autoit是一个很好的工具。我想您已经在帮助文件中找到了屏幕截图,它有以下参数:x左坐标、y上坐标、x右坐标和y下坐标。但是,屏幕截图功能会存储到一个文件中。我制作了一个库,你可以在其中捕获屏幕的一部分,或者一个窗口,并将其保存到内存中。然后可以从内存中获取像素颜色,并将它们与现有像素进行比较。你可以在这里找到:http://www.autoitscript.com/forum/topic/63318-get-or-read-pixel-from-memory-udf-pixelgetcolor-au3/
窗口中不包括标题栏和边框的部分称为“工作区”。您可以使用wingtclientsize获取工作区的宽度和高度。或者,可以在opengl控件上使用controlgetpos来获取相对于窗口的x和y,以及opengl控件的宽度和高度。结合wingtpos,您应该能够计算屏幕截图所需的值。如果使用“autoit window info”工具,您应该能够找到一个好的方法。
最后,一个简单而简短的解决方案是pixelchecksum函数,它给了您很少的控制权,但可能正是您所需要的。一旦得到opengl部分的坐标,就可以使用pixelchecksum并得到与屏幕像素相对应的值(像素的校验和)。然后,可以将该值与预先录制的值进行比较,以判断屏幕上的像素是否完全相同。以pixelchecksum的autoit帮助文件为例。