ProcWin9X




Declare Function CreateToolhelp32Snapshot Lib "kernel32" _
(ByVal dwFlags As Long, ByVal dwProcessID As Long) As Long
'Lo snapshot restituisce un'array contenente, per ogni processo attivo,

'una struttura dati PROCESSENTRY32 la cui definizione e' la seguente

Type PROCESSENTRY32
dwSize As Long 'Dimensione della struttura
cntUsage As Long 'Numero di riferimento del processo
th32ProcessID As Long 'ID del processo
th32DefaultHeapID As Long 'ID dell'Heap del processo
th32ModuleID As Long 'ID del modulo del processo
cntThreads As Long 'Numero di Thread lanciati dal processo
th32ParentProcessID As Long 'ID del processo Parent
pcPriClassBase As Long 'Priorita' di base dei Tread lanciati dal processo
szExeFile As String * 260 'Nome completo del path dell'eseguibile
dwFlags As Long
End Type
'I valori piu' importanti di questa struttura sono il th32ProcessID che

'ci restituisce il numero univoco di processo, e il campo szExeFile che

'contiene il nome dell'eseguibile completo del path. Ottenuto quindi lo

'snapshot basta scorrerlo dall'inizio alla fine utilizzando altre due

'funzioni le cui dichiarazioni sono:

Declare Function Process32First Lib "kernel32" _
(ByVal hObject As Long, p As PROCESSENTRY32) As Boolean
Declare Function Process32Next Lib "kernel32" _
(ByVal hObject As Long, p As PROCESSENTRY32) As Boolean
'La prima restituisce il primo processo della lista, e la seconda scorre

'l'array dei processi fino alla fine della lista. Bastera' quindi scorrere

'tutta la lista finche' il valore di ritorno della funzione Process32Next e

'diverso da 0 ed ottenere tramite il campo szExeFile tutti i nomi, completi

'del path, dei processi in esecuzione.

'Per meglio compredere l'uso di queste funzioni, scaricare il file tool.zip

'nel quale e presente un'esempio di utilizzo di quest funzioni.

'(L'esempio e creato con VB5).

Grazie alle funzioni TOOLHELP presenti nella libreria
kernel32.dll di Windows95, e' possibile 'fotografare' la lista
dei processi attivi in un determinato momento e quindi sapere
quali programmi sono in esecuzione. La funzione per creare
tale 'snapshot' e' la seguente:










( procwin9x.html )- by Paolo Puglisi - Modifica del 17/12/2023