Python 窗口中进程打开的文件的名称?

Python 窗口中进程打开的文件的名称?,python,c,windows,filesystems,windows-api-code-pack,Python,C,Windows,Filesystems,Windows Api Code Pack,如何在窗口中打印某个进程(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.导入win32

如何在窗口中打印某个进程(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.任何寄存器、内存或虚拟文件系统都保存此信息吗

如果可能,在窗口中,为什么任务管理器中不显示此信息?


下面是python中的独立于平台的解决方案

   import psutil
   p = psutil.Process(os.getpid()) # or PID of process
   p.open_files()

因此,我建议您使用这个软件包,它的函数太好了,无法获取有关运行进程的信息。下面是一种使用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(显然)。

将适用于windows?。您能回答我psutil是如何工作的吗?“用于Python的跨平台进程和系统实用程序模块”这是psutil所说的。请检查Win32 API绑定或软件包附带的python版本。Win32 API是Windows中几乎所有操作的权威API,该库提供了这些API函数的绑定。