WallBreaker2 / op

Windows消息模拟,gdi,dx,opengl截图,找图,找字(OCR)
MIT License
391 stars 155 forks source link

窗口屏幕绑定为dx11模式的情况下,如果窗口最小化过,则会报错 #115

Open Jai-wei opened 6 months ago

Jai-wei commented 6 months ago

Bug如下:

1. 第一步只绑定一次窗口,并让程序一直保持运行

op.BindWindow(hwnd, 'dx.d3d11', 'dx', 'windows', 1)
while(1):
    pass

2. 让程序while循环的时候最小化窗口

3. 终止上面的程序,重新运行程序并截图

op.BindWindow(hwnd, 'dx.d3d11', 'dx', 'windows', 1)
op.Capture(0, 0, 1260, 850, './1.jpg')

4. op报错:

[2023/12/13 21:52:49.025]x64info: error pInfo->width != _width || pInfo->height != _height
frame info:
hwnd:0
frameId:0
time:0
height0
width:0

5. 需要再次运行第三步的程序才会解决

Jai-wei commented 6 months ago

此外,如果程序一直在循环进行找图时,如果直接中断程序,再次运行也会报同样的错误:

[2023/12/14 02:08:41.013]x64info: error pInfo->width != _width || pInfo->height != _height
frame info:
hwnd:0
frameId:0
time:0
height0
width:0