如何获取应用程序中打开的窗口的列表

问题描述 投票:0回答:1

尝试获取应用程序内打开的窗口的列表。

使用下面的代码显示顶层窗口,其中之一是有问题的应用程序

names = []

def winEnumHandler(hwnd, ctx):
    if win32gui.IsWindowVisible(hwnd):
        n = win32gui.GetWindowText(hwnd)
        if n:
            names.append(n)
            print(n)

win32gui.EnumWindows(winEnumHandler, None)

print(names)

在该应用程序中,有一些打开的窗口不在此列表中,但似乎是主窗口的一部分。
有什么方法可以更精细地获取指定应用程序中打开的窗口的列表?

python pywin32 pywinauto win32gui
1个回答
0
投票

试试这个代码。至少对我有用

app = application.Application(backend='uia').start("your path")
time.sleep(20)
# Get a list of open windows
windows = app.windows()
# Iterate through the list and print window titles
for window in windows:
    print(window.texts())
© www.soinside.com 2019 - 2024. All rights reserved.