我使用下面的代码获取当前活动的窗口标题和 exe 文件路径
hwnd = win32gui.GetForegroundWindow()
_, pid = win32process.GetWindowThreadProcessId(hwnd)
if hwnd != 0 or pid != 0:
try:
hndl = win32api.OpenProcess(win32con.PROCESS_QUERY_INFORMATION | win32con.PROCESS_VM_READ, 0, pid)
self.newExe = win32process.GetModuleFileNameEx(hndl, 0)
self.newWindowTitle = win32gui.GetWindowText(hwnd)
except:
self.newExe = ''
self.newWindowTitle = ''
问题是,尽管经常如此,但窗口标题并不总是应用程序名称(用户理解为应用程序主要部分的名称),这就是我所需要的。例如从 calc.exe 获取计算器而不依赖于窗口标题。
目的是创建一个脚本,该脚本将登录计算机上任何软件的 xml 比较使用
这可能吗?