View Full Version : [Python]
GidanTKA
27-07-2008, 19:07
Ciao a tutti, io avrei un problema, ho scritto questo codice:
import win32api, win32pdhutil, win32con
def termina(exe):
pids = win32pdhutil.FindPerformanceAttributesByName(exe)
for p in pids:
handle = win32api.OpenProcess(win32con.PROCESS_TERMINATE, 0, p) #get process handle
win32api.TerminateProcess(handle,0)
win32api.CloseHandle(handle)
termina("iexplore")
ma vorrei che si ripeta esattamente ogni secondo, in modo tale che ogni secondo controlli se c'è un determinato processo attivo e lo chiuda.
Qualcuno di voi saprebbe dirmi come posso fare?
cdimauro
27-07-2008, 20:04
import win32api, win32pdhutil, win32con, time
def termina(exe):
pids = win32pdhutil.FindPerformanceAttributesByName(exe)
for p in pids:
handle = win32api.OpenProcess(win32con.PROCESS_TERMINATE, 0, p) #get process handle
win32api.TerminateProcess(handle,0)
win32api.CloseHandle(handle)
while True:
termina("iexplore")
time.sleep(1)
GidanTKA
27-07-2008, 20:21
import win32api, win32pdhutil, win32con, time
def termina(exe):
pids = win32pdhutil.FindPerformanceAttributesByName(exe)
for p in pids:
handle = win32api.OpenProcess(win32con.PROCESS_TERMINATE, 0, p) #get process handle
win32api.TerminateProcess(handle,0)
win32api.CloseHandle(handle)
while True:
termina("iexplore")
time.sleep(1)
Ecco! Ti ringrazio molto!!!
GidanTKA
27-07-2008, 20:23
import win32api, win32pdhutil, win32con, time
def termina(exe):
pids = win32pdhutil.FindPerformanceAttributesByName(exe)
for p in pids:
handle = win32api.OpenProcess(win32con.PROCESS_TERMINATE, 0, p) #get process handle
win32api.TerminateProcess(handle,0)
win32api.CloseHandle(handle)
while True:
termina("iexplore")
time.sleep(1)
Ok, ma non funziona!
l'errore è questo:
Traceback (most recent call last):
File "I:\documenti\informatica\python\progetti python\termina processi.py", line 12, in ?
termina("iexplore")
File "I:\documenti\informatica\python\progetti python\termina processi.py", line 4, in termina
pids = win32pdhutil.FindPerformanceAttributesByName(exe)
File "C:\Python24\Lib\site-packages\win32\lib\win32pdhutil.py", line 97, in FindPerformanceAttributesByName
machine))
File "C:\Python24\Lib\site-packages\win32\lib\win32pdhutil.py", line 60, in GetPerformanceAttributes
win32pdh.CollectQueryData(hq)
error: (-2147481643, 'CollectQueryData', 'Nessun dato da restituire.')
cdimauro
27-07-2008, 21:31
L'errore è nella FindPerformanceAttributesByName, ma non ho mai lavorato con le win32, per cui non ti so dire.
GidanTKA
27-07-2008, 21:44
L'errore è nella FindPerformanceAttributesByName, ma non ho mai lavorato con le win32, per cui non ti so dire.
ok, grazie lostesso
GidanTKA
28-07-2008, 11:58
Ecco, son riuscito a risolvere il problema
il codice giusto è:
import win32api, win32pdhutil, win32con, time
def termina(exe):
pids = win32pdhutil.FindPerformanceAttributesByName(exe)
for p in pids:
handle = win32api.OpenProcess(win32con.PROCESS_TERMINATE, 0, p) #get process handle
win32api.TerminateProcess(handle,0)
win32api.CloseHandle(handle)
while True:
try:
termina("iexplore")
time.sleep(1)
except:
None
Saluti GidanTKA
variabilepippo
28-07-2008, 13:02
Ma intendi intitolare [Python] ogni nuovo thread sul forum? :confused: Dopo il linguaggio indicato tra parentesi quadre dovresti riassumere con 3/4 parole il contenuto della discussione che stai aprendo.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.