Lister simplement les processus en cours

Signaler
Messages postés
34
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
26 octobre 2012
-
Messages postés
66
Date d'inscription
samedi 24 février 2007
Statut
Membre
Dernière intervention
7 octobre 2007
-
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.

Merci

Chocolat GC

3 réponses

Messages postés
66
Date d'inscription
samedi 24 février 2007
Statut
Membre
Dernière intervention
7 octobre 2007

Salut, tu peut essayer ca :

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim process() As System.Diagnostics.Process

        process = System.Diagnostics.Process.GetProcesses()

        For Each processus As System.Diagnostics.Process In process
            TextBox1.Text &= processus.ProcessName & vbCrLf
        Next
End Sub

A plus
Messages postés
34
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
26 octobre 2012

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
Messages postés
66
Date d'inscription
samedi 24 février 2007
Statut
Membre
Dernière intervention
7 octobre 2007

Autant pour moi, j'avais pas vu que tu était en VB6.