Python 如何获取每个打开窗口的名称列表?
如何获取所有打开窗口的名称/文本列表 我试过pywinauto:Python 如何获取每个打开窗口的名称列表?,python,win32gui,pywinauto,Python,Win32gui,Pywinauto,如何获取所有打开窗口的名称/文本列表 我试过pywinauto: pywinauto.findwindows.find\u窗口(title\u re=“*”) 但是将*用作正则表达式会导致错误 我试过win32gui: 它有 win32gui.GetWindowText(win32gui.GetForegroundWindow()) 但在它的文档中,我找不到getAllWindows或返回所有打开的hwnd句柄名称/文本的东西: 您可以与以下内容一起使用: 输出: 0x20fa4 bet -
pywinauto.findwindows.find\u窗口(title\u re=“*”)
但是将*
用作正则表达式会导致错误
我试过win32gui:
它有
win32gui.GetWindowText(win32gui.GetForegroundWindow())
但在它的文档中,我找不到getAllWindows或返回所有打开的hwnd句柄名称/文本的东西:
您可以与以下内容一起使用:
输出:
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
...
如果您想使用pywinauto,则更容易:
from pywinauto import Desktop
windows = Desktop(backend="uia").windows()
print([w.window_text() for w in windows])
这甚至适用于WPF应用程序。使用win32gui.EnumWindows
无法访问WPF或UWP应用程序的文本。pywinauto在桌面(backend=“win32”)
中使用win32gui.EnumWindows
backend=“uia”
使用UIAutomationCore.dll
中更新的API
有关pywinauto中后端的更多详细信息,请参见。查看EnumWindows
from pywinauto import Desktop
windows = Desktop(backend="uia").windows()
print([w.window_text() for w in windows])