如何获取每个打开窗口的名称列表?

新手上路,请多包涵

如何获得所有打开窗口的名称/文本列表?

我试过 pywinauto:

pywinauto.findwindows.find_windows(title_re="*") 但使用 * 作为正则表达式会引发错误

我试过 win32gui:它有

win32gui.GetWindowText(win32gui.GetForegroundWindow())

但在它的文档中我找不到 getAllWindows 或返回打开 hwnd 句柄的所有名称/文本的东西: http ://timgolden.me.uk/pywin32-docs/contents.html

原文由 user10385242 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 744
1 个回答

您可以使用 win32gui.GetWindowText( hwnd ) 以及 win32gui.EnumWindows

 import win32gui

def winEnumHandler( hwnd, ctx ):
    if win32gui.IsWindowVisible( hwnd ):
        print ( hex( hwnd ), win32gui.GetWindowText( hwnd ) )

win32gui.EnumWindows( winEnumHandler, None )


输出:

 0x20fa4 bet - [C:\Users\X\Desktop\] - [bet] - L:\stack\stack_enum_windows.py - IntelliJ IDEA 2017.2.5
0x1932478 13. vnc 888
0x30c27b8 Telegram (55)
0x40aba MobaXterm
0x10a0a IntelliJIDEALicenseServer_windows_amd64.exe - Shortcut
...

原文由 Pedro Lobito 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题