使用Python获取在记事本中打开哪个文件

问题描述:

我想知道文件是否在记事本中打开,文件是否在Adobe Reader上打开。 如果您打开任务管理器,转到进程选项卡,您可以看到包含EXE路径和打开的文件路径的“命令行”列(如果不是,然后转到查看 - >选择列)。 如果我得到这个信息,我可以很容易地解析这个字符串来获得打开的文件名(连同它的路径 - 红利)使用Python获取在记事本中打开哪个文件

我发现了一个article,这表明使用WMI通过PowerShell中的方式。有没有办法使用Python 2.7 我知道有一个WMI库蟒蛇,但无法弄清楚如何实施做同样的:

Get-CimInstance Win32_Process -Filter "name = 'notepad.exe'" | fl * 
+0

我的方式不知道你的确切用例,但不幸的是,如果你想知道某个特定进程当前打开了哪个文件,只需检查命令行是不够的。例如,可以使用“文件” - >“打开”菜单在不带命令行的记事本中打开文件。 – user193130

+0

@ user193130正确!感谢那些信息。 – Swanand

我发现使用psutil

import psutil 

for pid in psutil.pids(): 
    p = psutil.Process(pid) 
    if p.name() == "notepad.exe": 
     print p.cmdline()