我尝试在python中找到当前活动窗口的可执行文件的路径。 我不熟悉系统变量,不知道我应该做什么,我找到了一些解决方案,并与他们一起练习。
首先我尝试获取当前活动窗口 并找到相关的PID然后找到路径。
import psutil
import win32process
import win32gui
window = win32gui.GetForegroundWindow()
pid = win32process.GetWindowThreadProcessId(window)
active_window_path = psutil.Process(pid[1]).exe()
print("Active window: %s" % str(get_active_window()))
当我使用win32process获取PID时,它会返回一个列表。为什么? 我必须选择列表的第一个元素才能得到正确的结果。 不是PID应该是一个整数?为什么要返回列表?为什么第二个元素是正确的而不是第一个?
答案 0 :(得分:0)
它是[GitHub]: mhammond/pywin32 - Python for Windows (pywin32) Extensions的一部分,它是 Python 在 WINAPI 上的包装。
将您的代码(相关部分)更改为以下内容(非强制性,仅为了便于阅读):
tid, pid = win32process.GetWindowThreadProcessId(window)
active_window_path = psutil.Process(pid).exe()