Lister simplement les processus en cours

chocolatgc Messages postés 34 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 26 octobre 2012 - 2 août 2007 à 08:45
PurBonheur Messages postés 66 Date d'inscription samedi 24 février 2007 Statut Membre Derniè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.

Merci

Chocolat GC

3 réponses

PurBonheur Messages postés 66 Date d'inscription samedi 24 février 2007 Statut Membre Dernière intervention 7 octobre 2007 1
2 août 2007 à 09:27
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
0
chocolatgc Messages postés 34 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 26 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
0
PurBonheur Messages postés 66 Date d'inscription samedi 24 février 2007 Statut Membre Dernière intervention 7 octobre 2007 1
2 août 2007 à 21:17
Autant pour moi, j'avais pas vu que tu était en VB6.
0
Rejoignez-nous