2015-09-03 2 views
0

Я хочу выяснить, открыт ли файл в Блокноте, а файл открыт в Adobe Reader. Если вы откроете диспетчер задач, перейдите на вкладку процесса, вы увидите столбец «Командная строка» (если нет, затем перейдите в «Вид» - «Выбрать столбец»), который содержит путь к EXE и путь к открытому файлу. Если я получаю эту информацию, я могу легко разобрать эту строку, чтобы получить открытое имя файла (вместе с его путь - Bonus)Получение файла в блокноте с помощью Python

Я нашел article, который показывает путь по PowerShell с помощью WMI. Есть ли способ сделать то же самое с помощью Python 2.7 Я знаю, что есть библиотека WMI для питона, но не в состоянии понять, как реализовать:

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

I не знаю вашего конкретного варианта использования, но, к сожалению, просто проверка командной строки не будет достаточной, если вы хотите точно знать, какой файл в настоящее время открывается конкретным процессом. Например, файл можно открыть в блокноте без командной строки, используя меню «Файл» -> «Открыть». – user193130

+0

@ user193130 True! Спасибо за эту информацию. – Swanand

ответ

0

Я нашел способ, используя psutil

import psutil 

for pid in psutil.pids(): 
    p = psutil.Process(pid) 
    if p.name() == "notepad.exe": 
     print p.cmdline() 
Смежные вопросы