Fonction /wait (Batch) mais pour VB.NET

Bonjour, je n'ai Pas Trouver la Commande qui permet que le programme exécute un Autre programme et Attende la fin de son exécution

dans un batch c'est simple:

start / wait ProgrammeExecuter.exe

et le batch reprend à la Fermeture du programme

MAIS moi J'ai cette Commande et la ca ne fonctionne pas ...

Call shell ("explorer.exe [, WAIT ]")
Call shell ("explorer1.exe ")

MAIS il exécute les 2 programmes en meme Temps

si quelle qu'un a une solution ....

Merci .

Windows XP Pro <Config>
Fujitsu Siemens
Core 2
Duo < / > config

-

6 réponses

  1. Tu as la fonction HasExited pour verifier si ton process et toujours en cours si qui donnerai de tete donc a reverifier car risque d'erreur

    Dim  processInfo As  new ProcessStartInfo("explorer.exe"")
    	processInfo.WindowStyle = ProcessWindowStyle.Normal
    Dim	 MyProcess as New  Process.Start(processInfo)
    
    if(MyProcess.HasExited == true) then
     Dim  processInfo1 As  new ProcessStartInfo("explorer1.exe"")
    	processInfo1.WindowStyle = ProcessWindowStyle.Normal
    Dim	 MyProcess1 as New  Process.Start(processInfo)
    endif
    1. il y a une erreur
      MyProcess as New Process.Start(processInfo)
      MyProcess1 as New Process.Start(processInfo)

      Process.start non défini ??

      il me dit de remplacé par ProcessThread c'est parreil ?
      1. salut, le code sans changement execute les 2 programmes
        et avec changement (0 erreur pour l'ordi)

        il execute les 2 programmes

        même avec ce code que j'ai essayer de faire ...

        Dim myProcess As Process
        myProcess = Process.Start("explorer.exe")
        If myProcess.HasExited Then
        Call Shell("explorer1.exe")
        End If
        et c'est normale que cela ne fonctione pas car il execute le premier et tout de suite le second et vu que le process n'est pas étein il continue son chemin
        1. le probleme vient que je teste qu'une seule fois si le programme et quitter il faut boucler dessus pour le regler ce qui donne

          Dim ProcessInfo As New ProcessStartInfo("calc.exe")
                  Dim MyProcess = Process.Start(ProcessInfo)
          
                  While MyProcess.HasExited = False
                      Threading.Thread.Sleep(100)
                      Application.DoEvents()
                  End While
          
                  Dim ProcessInfo1 As New ProcessStartInfo("cmd.exe")
                  Dim MyProcess1 = Process.Start(ProcessInfo1)