Найти - Пользователи
Полная версия: Запущенные программы
Начало » Python для экспертов » Запущенные программы
1
liosha
Может быть кто подскажет как получить
список запущенных программ в питоне на WINDOWS?
На мобильном питоне это appswitch.application_list(0).
Модуля appswitch на компе нет, а в интернете че-то не нахожу.
Очень расчитываю на помощ. :)
Ferroman
В разных системах по-разному.
sypper-pit
я на WMI делал http://www.script-coding.info/Python/wmi.html
liosha
А без сторонних модулей получить список запущенных программ никак нельзя?
Может кто-нибудь знает хоть в каком модуле (из встроенных) искать?
Просто программой будет пользоваться человек, не связанный с программированием,
и неохота ему обьяснять как ставить сторонние модули. :)
pyuser
liosha
А без сторонних модулей получить список запущенных программ никак нельзя?
Почитать что-нибудь по winapi :)
from ctypes import *

CreateToolhelp32Snapshot = windll.kernel32.CreateToolhelp32Snapshot
Process32First = windll.kernel32.Process32First
Process32Next = windll.kernel32.Process32Next

TH32CS_SNAPPROCESS = 0x02L

class PROCESSENTRY32 (Structure) :
_fields_ = [("dwSize", c_ulong),
("cntUsage", c_ulong),
("th32ProcessID", c_ulong),
("th32DefaultHeapID", c_ulong),
("th32ModuleID", c_ulong),
("cntThreads", c_ulong),
("th32ParentProcessID", c_ulong),
("pcPriClassBase", c_ulong),
("dwFlags", c_ulong),
("szexeFile", c_char * 260)
]

def GetProcessList () :
pe32 = PROCESSENTRY32()
pe32.dwSize = sizeof(PROCESSENTRY32)

result = []
snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
ok = Process32First(snapshot, byref(pe32))
while ok :
# выбираем поля, которые считаем нужными
result.append((pe32.szexeFile, pe32.th32ProcessID, pe32.th32ParentProcessID, pe32.cntThreads))
ok = Process32Next(snapshot, byref(pe32))
win32file.CloseHandle(snapshot)
return result
версия Python'а не ниже 2.5
qwer
на линухе - командой ps:
import subprocess
proc_list = subprocess.Popen('ps -A -o comm', shell=True, stdout=subprocess.PIPE).communicate()[0].split('\n')[1:]
на винде - tasklist, запускать таким же методом и парсить результат.
liosha
Спасибо всем огромное!!!
Жаль незнаю как тут ставить плюсики(и можно ли вообще)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB