Announcement

Collapse
No announcement yet.

Prozesse nacheinander ausführen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Prozesse nacheinander ausführen

    hi leute!

    hab ein kleines programm geschrieben das mir die drucker und die vorhandenen druckertreiber löscht!

    die CMD-befehle führe ich mit eigenes erstellen Prozessen aus!

    Code:
    Process p = new Process();
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.CreateNoWindow = true;
    p.StartInfo.FileName = "net";
    p.StartInfo.Arguments = "stop LPDSVC";
    p.Start();
    jetzt laufen die aber parallel zueinander! also kann es sein, dass der dienst noch nicht gestoppt ist, wenn der treiber aber schon gelöscht ist! daher hab ich einfach Thread.sleep(x) reingenommen! das funktioniert soweit (nicht immer), ich will mich aber auf diese zeitfolge nicht verlassen!

    jetzt wollte ich fragen, wie kann ich die prozesse nicht gleichzeitig, sondern nacheinander ausführen lassen?

    also ich will dass mein programm wartet bis der Prozess mit dem stoppen des dienstes fertig ist und dann mein programm erst mit dem nächsten schritt (z.b. treiber löschen) fortfahrt!

    lg,
    alex

  • #2
    Process.WaitForExit() mit einem sehr hohen timeout

    Comment


    • #3
      Originally posted by fanderlf View Post
      Process.WaitForExit() mit einem sehr hohen timeout
      ok danke, wenn ich p.WaitForExit(10000) in den oben angegebenen code einfüge, dann bekomm ich beim ausführen die exception "Diesem Objekt ist kein Prozess zugeordnet" ?!

      lg

      EDIT: habs schon! man muss sich über die statische methode Process.Start() ein Process-Objekt holen und bei diesem dann WaitForExit aufrufen... für alle dies mal brauchen:

      Code:
      ProcessStartInfo psi = getPSI(); // erzeugt nur ein ProcessStartInfo-Objekt, wo ich noch zwei Parameter setze
      psi.FileName = "net";
      psi.Arguments = "stop LPDSVC";
      Process p = Process.Start(psi);
      p.WaitForExit(10000);
      Zuletzt editiert von leuchtdiode; 07.07.2010, 11:01.

      Comment


      • #4
        Danke fürs posten Deiner Lösung

        Comment

        Working...
        X