Ciao a tutti.
Vorrei sapere se esiste un metodo per ottenere l'elenco dei task attivi di windows.
Ho trovato queste Api...
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
esiste un tutorial da qualke parte che fa vedere come si usano, insieme ad un timer ed una funzione di nome GetRunningApplications che viene chiamata appunto dal timer ogni x millesimi di sec.
Non c'è nessun problema nell'usarle...solo che ci mette un casino di tempo per ritornarmi l'elenco dei task.
Il motivo lo so..infatti ho creato con qbasic un programmino tipo:
do while 1=1
a=a
loop
esatto...un loop infinito....da suicidio!
Avviando l'applicazione (in vb) che mi ritorna l'elenco dei Task....ci mette almeno 10 sec per darmi l'elenco...il motivo è ovviamente il loop infinito di quel programmino, che impegna molte risorse.
Quindi vi chiedo...esistono altre Api, o altro per sapere se il programma di nome "x" con path "y" è nell'elenco dei task, sia bloccato che attivo?
E se posso terminarlo???
Grazie a tutti...spero di essere stato chiaro.
Segnalibri