gpt4 book ai didi

python - 我不确定 win32gui.EnumWindows 是否正常工作

转载 作者:行者123 更新时间:2023-11-28 18:38:43 26 4
gpt4 key购买 nike

我刚刚开始使用 pywin32,所以我对它应该如何工作有点粗略,但是当我从回调中返回 False 时 win32gui.EnumWindows 不喜欢它,我不是确定为什么。例如,以下崩溃

from win32gui import EnumWindows

def derp(hWnd, lParam):
return False

EnumWindows(derp, 0)

有回溯

Traceback (most recent call last):
File "C:\--------\test5.py", line 7, in <module>
EnumWindows(ewp, 0)
error: (126, 'EnumWindows', 'The specified module could not be found.')

错误代码可能会有所不同,所以我认为它们实际上与 EnumWindows 调用没有任何关系。例如,代码更改为 123(“文件名、目录名或卷标语法不正确。”)如果我在我的旧 XP 笔记本电脑上运行它,并且如果我在“return False”之前放置打印语句,它会返回作为错误 0。如果我每次都从回调中返回 True 并让它在所有窗口中循环,一切正常。

我的想法是,由于 EnumWindows 的 C 版本在回调返回 false 真正出错时都返回 false,包装器只能看到返回值并在它得到时假设最坏的情况错误的?还是其他原因?

(使用 python 2.7.9 和 pywin32 build 219)

最佳答案

我认为 EnumWindows 完全按照其文档所说的那样做。从回调函数返回 False 终止枚举。你的声明“包装器只能看到返回值”没有任何意义,因为根据文档,这个函数不应该返回任何东西。为什么不忘记分析返回值并在 try: except: block 中包装对 EnumWindows 的调用,如果你想抑制异常。

关于python - 我不确定 win32gui.EnumWindows 是否正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29689025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com