Vérification d'état d'un procesus

spamito Messages postés 183 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 30 mars 2013 - 12 juin 2010 à 01:43
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 - 13 juin 2010 à 23:25
Bsr

A partir de mon programme j'exécute un autre processus nommé checkserverstatus.exe
J'aimerai savoir comment puis-je faire pour que mon programme test en continue que le processus est actif... s'il est actif la fenetre de mon programme doit rester ouverte si j'arrete ledit processus, mon programme doit le savoir et passer à la form suivante automatiquement.

J'ai testé un code qui a été posté sur un forum, mais il ne fait pas ce que je veux. Voici le code :

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim trouve As Boolean = False
        For Each pr As Process In System.Diagnostics.Process.GetProcesses
            If pr.ProcessName = "nom du processus" Then
                trouve = True
                Exit For
            End If
        Next
        If Not trouve Then
            Application.Exit()
        End If
 
 
    End Sub


Merci de m'aider

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 juin 2010 à 18:24
Du vrai code, tu traduiras:
PROCESS_INFORMATION pi;
STARTUPINFO si;
CreateProcess(0, srvexe, 0, 0, 0, NORMAL_PRIORITY_CLASS, 0, 0, &si, &pi);
CloseHandle(pi.hThread);
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
checkserverstatus.exe FINI, ton changement de focus maintenant.

Exit timer, boucle de recherche, etc.

ciao...
BruNews, MVP VC++
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
13 juin 2010 à 23:25
Salut,

Essaye comme ceci :

    Dim p As Process = Process.Start("CheminDeTonApplication")
    While Not p.HasExited
        Application.DoEvents()
    End While
    MessageBox.Show("Process terminé! ")



Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Rejoignez-nous