Non preoccupatevi di rispondere, ho risolto. Vi posto il codice delle due funzioni necessarie per la risoluzione del problema
Questa è la funzione principale alla quale viene passato il parametro ApplicationName di tipo String (nel mio caso è 'IEXPLORE.EXE')
Questa è l'implementazione della funzione GetName a cui passo il parametro Data di tipo TProcessEntry32codice:Function IsApplicationRunning ; Var Data : TProcessEntry32 ; Handler : THandle ; ProcessoTrovato : Boolean ; Begin ProcessoTrovato := False ; Try Handler := CreateToolHelp32Snapshot ( TH32CS_SNAPALL, 0 ) ; Data.dwSize := SizeOf ( TPROCESSENTRY32 ) ; If Process32First( Handler, Data ) Then Begin While Process32Next ( Handler, Data ) Do Begin If ( GetName ( Data ) = ApplicationName ) Then Begin ProcessoTrovato := True ; End; End; End; Except // End; IsApplicationRunning := ProcessoTrovato ; End;
Per il corretto funzionamento bisogna includere le librerie ShellApp e TlHelp32codice:Function GetName ; Var Posizione : Byte ; NomeProcesso : String ; RicercaTerminata : Boolean ; Begin NomeProcesso := '' ; Posizione := 0 ; For Posizione := 0 to 11 //11 è la lunghezza del nome del processo Do Begin //che si vuole ricercare NomeProcesso := NomeProcesso + Data.szExeFile [ Posizione ] ; End; GetName := NomeProcesso ; End;
Ciao a tutti

Rispondi quotando