小编Joh*_*ith的帖子

pywin32 win32gui GetPixel 在接近第 10,000 次调用时可预见地失败

运行以下代码块时,GetPixel 每次大约在第 10,000 次调用时开始抛出错误。如果我将代码放在 try- except 语句中,则初始失败后的所有调用都将失败。恢复的唯一方法是终止脚本并再次运行它。我尝试在通话之间短暂休息一下。我尝试在调用之间触发垃圾收集。我尝试过从 IDE 运行该脚本并将其作为独立进程运行。有任何想法吗?即使运行脚本并报告是否/何时失败也会有所帮助。

import gc
import os
import time
import win32api, win32con, win32gui
import sys
import win32com.client

terms = 0

def get_pixel_colour(i_x, i_y):
    i_desktop_window_id = win32gui.GetDesktopWindow()
    i_desktop_window_dc = win32gui.GetWindowDC(i_desktop_window_id)
    long_colour = win32gui.GetPixel(i_desktop_window_dc, i_x, i_y)
    i_colour = int(long_colour)
    return (i_colour & 0xff), ((i_colour >> 8) & 0xff), ((i_colour >> 16) & 0xff)


for x in range (0, 1000000):
    colour = get_pixel_colour(500, 500)
    terms = terms + 1
    print terms
Run Code Online (Sandbox Code Playgroud)

返回的错误是

error: (0, 'GetPixel', 'No error …
Run Code Online (Sandbox Code Playgroud)

python pywin win32gui

5
推荐指数
1
解决办法
2988
查看次数

标签 统计

python ×1

pywin ×1

win32gui ×1