fcymk2 发表于 2012-12-3 20:20:20

PixelChecksum检测的窗口只能显示在最前面吗?

用来判断一个后台程序的一个点击是否生效.

这个程序能看到的时候 PixelChecksum是生效的, 不管是不是当前激活的程序.

一开别的全屏程序, 这个就不生效了.
                Local $checkSum
                Local $edge = 50
                AutoItSetOption("PixelCoordMode", 2)
                $checkSum = PixelChecksum($xpos-$edge, $ypos-$edge, $xpos+$edge, $ypos+$edge, 1, $wgHandle)
                _MouseClick($wgHandle, $xpos, $ypos, "left", 0)
                Do
                        Sleep(200)
                Until $checkSum <> PixelChecksum($xpos-$edge, $ypos-$edge, $xpos+$edge, $ypos+$edge, 1, $wgHandle)

annybaby 发表于 2012-12-3 21:15:23

回复 1# fcymk2


    楼主看看这个函数就知道了

netegg 发表于 2012-12-3 21:27:15

回复 2# annybaby
看什么函数
PixelCoordMode 设置用于象素函数的坐标参照,可以是绝对位置也可以是相对当前激活窗口的坐标位置.
0 = 相对激活窗口的坐标
1 = 屏幕的绝对位置(默认)
2 = 相对激活窗口客户区的坐标

annybaby 发表于 2012-12-3 21:35:57

本帖最后由 annybaby 于 2012-12-3 21:37 编辑

回复 3# netegg


    呃…

屏幕像素校验和

名字已经说明,不能被其他窗口挡住啦

afan 发表于 2012-12-3 21:48:40

Pixel* 内置函数都是针对屏幕像素的。如果需要进行非前端屏幕显示的窗口则肯定要涉及GDI

fcymk2 发表于 2012-12-4 08:22:50

回复 5# afan


    明白了, 感谢...

刚才论坛上查了下..发现有人研究过后台取色的, 看来要自己用那个写个校验了

xms77 发表于 2012-12-4 12:58:36

回复 6# fcymk2
楼主要搞外挂了?

fcymk2 发表于 2012-12-4 17:55:57

回复 7# xms77


    没呢, 老婆的工作很多是要机械点击的, 帮写个自动执行+简单判断的脚本, 那个wg...是那个软件的拼音缩写哈

现在写的脚本已经能用了, 只是点击后是加了delay 后再执行下一步的, 效率不高.
页: [1]
查看完整版本: PixelChecksum检测的窗口只能显示在最前面吗?