运行以下代码块时,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
返回的错误是
error: (0, 'GetPixel', 'No error message is available')