当我使用代码时,我得到一个error('GetPixel', 'No error message is available')
:color = win32gui.GetPixel(win32gui.GetDC(win32gui.GetActiveWindow()), x , y)
据我所知,我应该在每次使用GetPixel时释放DC(win32gui.ReleaseDC(,))。但我应该使用什么作为窗口句柄和设备上下文句柄呢
据我所知,我可以通过使用win32gui.GetActiveWindow()获得窗口的句柄,对吗?但我不知道如何处理设备上下文
守则:
def get_position_and_color():
a=0
while a<=3:
sleep(1)
x, y = win32api.GetCursorPos()
color = win32gui.GetPixel(win32gui.GetDC(win32gui.GetActiveWindow()), x , y)
print(str(a)+' '+str(x)+','+str(y)+','+str(color))
# print(a)
a=a+1
get_position_and_color()
谢谢你的帮助@AKX。 我想我找到了答案。 我在VBA中有相同的代码,它从来不会失败,但在python中。。。 我只是比较了两种代码。 VBA:
lDC=GetWindowDC(0) 调用GetCursorPos(pLocation) lColour=GetPixel(lDC,pLocation.x,pLocation.y) 调试.打印(i&;“=”&;pLocation.x&;“=”&;pLocation.y&;“=”&;L颜色(“=”)
Python(见上文) 我使用了win32gui.GetActiveWindow()而不是“0”。我猜坐标超出了“活动窗口”的边界
相关问题 更多 >
编程相关推荐