使用 PyWinAuto 返回所有桌面 windows

Returning all desktop windows with PyWinAuto

我正在尝试使用 PyAutoWin 从我的机器 return 全部 windows。最终目标是稍后将此列表缩小到 windows 的一个子集,以使用多种方法实现自动化(调整大小和执行抓取操作)。

但是我在最基本的任务上失败了:return全部windows。我的代码是:

import pywinauto

print(pywinauto.findwindows.enum_windows())

并出现此错误:

Traceback (most recent call last):
  File "app.py", line 4, in <module>
    print(pywinauto.findwindows.enum_windows())
  File "C:\Users\*\.virtualenvs\scraper-j58Iv-wO\lib\site-packages\pywinauto\findwindows.py", line 368, in enum_windows
    win32functions.EnumWindows(proc, 0)
ctypes.ArgumentError: argument 1: <class 'TypeError'>: expected WinFunctionType instance instead of WinFunctionType

我尝试实例化 Desktop() 对象并将其传递给 enum_windows() 方法,但它不接受参数。

非常感谢任何帮助!

此致

正确的做法:

from pywinauto import Desktop
top_windows = Desktop(backend="uia").windows() # or backend="win32" by default

# walk the returned list of wrappers
for w in top_windows:
    print(w.window_text())