Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python win32gui.GetPixel()不工作:pywintypes.error:(0,';GetPixel';,';没有可用的错误消息';)_Python_Win32gui_Pysimplegui - Fatal编程技术网

Python win32gui.GetPixel()不工作:pywintypes.error:(0,';GetPixel';,';没有可用的错误消息';)

Python win32gui.GetPixel()不工作:pywintypes.error:(0,';GetPixel';,';没有可用的错误消息';),python,win32gui,pysimplegui,Python,Win32gui,Pysimplegui,在我自己的pysimplegui程序和其他程序中,每次使用GetPixel时,都会出现错误:pywintypes.error:(0,“GetPixel”,“没有可用的错误消息”) 唯一一次没有崩溃的是谷歌chrome,但它给出了错误的RGB值。有什么想法吗?您可以使用以下方法获取像素值 导入win32ui w=win32ui.FindWindow(无,“保持打开的窗口”) dc=w.GetWindowDC() 颜色=dc.GetPixel(100100) 如果未找到“保持打开的窗口”或标题错误

在我自己的pysimplegui程序和其他程序中,每次使用GetPixel时,都会出现错误:pywintypes.error:(0,“GetPixel”,“没有可用的错误消息”)


唯一一次没有崩溃的是谷歌chrome,但它给出了错误的RGB值。有什么想法吗?

您可以使用以下方法获取像素值

导入win32ui
w=win32ui.FindWindow(无,“保持打开的窗口”)
dc=w.GetWindowDC()
颜色=dc.GetPixel(100100)
如果未找到“保持打开的窗口”或标题错误,应检查案例。通过以下代码确认窗口的标题。同时确认窗口中的点(x,y)

导入win32gui
def enumWindowFunc(hwnd,窗口列表):
text=win32gui.GetWindowText(hwnd)
className=win32gui.GetClassName(hwnd)
如果文本和类名!=“输入法”:
打印(repr(文本),repr(类名))
win32gui.EnumWindows(enumWindowFunc,[])

所以我这么做了,但我仍然有同样的问题。Google Chrome返回0,其他几乎都失败:\“win32ui.error:GetPixel failed”感谢您回复上面的更新。感谢您的回复。所以我知道窗口在那里,并且我使用的是正确的名称。我运行了你的代码,在列表中找到了我的窗口。在我当前的测试中,我使用FindWindow('example'),然后使用GetWindowRect(hwnd)打印它的维度,但是当我尝试在窗口上运行GetPixel时,我遇到了崩溃。它唯一没有崩溃的时候是当我在WIN10中运行GetActiveWindow()上的GetPixel时,它工作得很好。好吧,我一定是做了一些愚蠢的事情,因为我刚刚再试了一次,它工作了。。。哈哈,我很抱歉,谢谢你的帮助。
while True:                             # The Event Loop
event, values = window.read()
hwnd = win32gui.FindWindow(None, 'Window that stays open')
rgbint2rgbtuple(win32gui.GetPixel(hwnd, 100, 100))

print(event, values)
if event == sg.WIN_CLOSED or event == 'Exit':
    break