python win32process.GetWindowThreadProcessId()PID返回一个列表
我试图在python中找到当前活动窗口的可执行文件路径。 我不熟悉系统变量,也不知道应该做什么,我找到了一些解决方案并进行了实践 首先,我尝试获取当前活动窗口 然后找到相关的PID和路径python win32process.GetWindowThreadProcessId()PID返回一个列表,python,system,active-window,Python,System,Active Window,我试图在python中找到当前活动窗口的可执行文件路径。 我不熟悉系统变量,也不知道应该做什么,我找到了一些解决方案并进行了实践 首先,我尝试获取当前活动窗口 然后找到相关的PID和路径 import psutil import win32process import win32gui window = win32gui.GetForegroundWindow() pid = win32process.GetWindowThreadProcessId(window) active_window
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()))
当我用Win32 Process获取PID时,它会返回一个列表。为什么?
我必须选择列表中的第一个元素才能得到正确的结果。
PID不应该是整数吗?为什么它会返回一个列表?为什么第二个元素是正确的而不是第一个呢?它是的一部分,是WinAPI上的Python包装
- (这是我能找到的最接近官方pywin32文档)包装
- 返回由2个整数组成的元组:
- 线程ID(tid)
- 进程ID(pid)
tid,pid=win32process.GetWindowThreadProcessId(窗口)
active_window_path=psutil.Process(pid.exe)()