1

我尝试在 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不应该是整数吗?为什么它返回一个列表?为什么第二个元素是正确的而不是第一个?

4

1 回答 1

3

它是[GitHub] 的一部分:mhammond/pywin32 - Python for Windows (pywin32) Extensions,它是WINAPI上的Python包装器。

将您的代码(的相关部分)(不是强制性的,只是为了便于阅读)更改为:

tid, pid = win32process.GetWindowThreadProcessId(window)
active_window_path = psutil.Process(pid).exe()
于 2018-02-18T22:17:57.157 回答