如何在窗口中通过某个进程(PID)打印文件名?或者所有进程(PID)当前打开文件 Process Explorer 是一个实用程序。 但是如何才能提及? Windows中存在任何 / proc文件系统类的东西吗?
Can we read any Window's Registry?
I wants to write a programming code And I rarely work on windows.
在Python中有两个解决方案:
1.输入psutil
2.导入win32api,win32con,win32process
但这对我来说仍然是一个问题! 1.这些图书馆如何运作? 2.任何寄存器,内存或虚拟文件系统都会保留此信息吗?
如果可以在窗口中显示,为什么TasK-Manager中不存在此信息?
答案 0 :(得分:22)
这是python中独立于平台的解决方案。
import psutil
p = psutil.Process(os.getpid()) # or PID of process
p.open_files()
所以我推荐你psutil包它有太好的功能来获取有关正在运行的进程的信息
答案 1 :(得分:1)
以下是使用Win32 API从pid获取文件名的方法:
import win32api, win32con, win32process
handle = win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS, False, pid) #get handle for the pid
filename = win32process.GetModuleFileNameEx(handle, 0) #get exe path & filename for handle
这仅适用于Windows(显然)。