chocolatgc
Messages postés33Date d'inscriptionsamedi 18 février 2006StatutMembreDernière intervention26 octobre 2012
-
2 août 2007 à 08:45
PurBonheur
Messages postés66Date d'inscriptionsamedi 24 février 2007StatutMembreDernière intervention 7 octobre 2007
-
2 août 2007 à 21:17
Salut à tous
existe t'il un moyen simple d'obtenir la liste des processus en cours dans windows. Je souhaite vérifier l'existance d'un processus et attendre sa fin.
chocolatgc
Messages postés33Date d'inscriptionsamedi 18 février 2006StatutMembreDernière intervention26 octobre 2012 2 août 2007 à 14:11
merci à toi, mais je viens de trouver ceci
'renvoie la liste des processus
'==============================================
'Paths : indique si le chemin de l'exe doit être inclu (sous NT/2000/XP)
Public Function GetProcessesList(Optional Paths As Boolean = False) As PROCESSENTRY32()
Dim hToolHelp As Long 'handle de la vue des processus
Dim p As PROCESSENTRY32 'infos sur un processus
Dim t() As PROCESSENTRY32 'liste temporaire des processus
Dim Cnt As Long 'compteur
Dim pos_espace 'Position de du premier espace dans le nom du process issue par la fonction
Dim name_process 'Nom du process sans espace
'on demande une vue des processus du système
hToolHelp = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
'compteur à 0
Cnt = 0
'taille
p.dwSize = Len(p)
'on demande le premier processus de la vue
If Process32First(hToolHelp, p) Then
'on alloue la place dans la liste temporaire
ReDim t(0)
'on copie les infos
t(0) = p
'taille
p.dwSize = Len(p)
'tant qu'il y a des processus dans la vue, on les ajoute à la liste temporaire
Do While Process32Next(hToolHelp, p)
Cnt = Cnt + 1
ReDim Preserve t(Cnt)
'on supprime le vbNullChar et les espaces inutiles
p.szExeFile = Left$(p.szExeFile, InStr(p.szExeFile, vbNullChar) - 1)
'on copie les infos
t(Cnt) = p
'si c windows et que l'on veut les chemins complets
'taille
p.dwSize = Len(p)
Loop
End If
'Si on arrive ici, c'est que le process n'est plus là !
Process_BATCH = False
'on renvoie la liste
GetProcessesList = t
'on ferme la vue
CloseHandle hToolHelp
End Function
Ca fonctionne très bien
Encore merci pour ton aide