![]() |
Re: CreateProcess und mehrere Konsolenbefehle
Das Try-Except halte ich für sinnlos, streiche mal das Try sowie alles von Except bis zum folgenden End.
Zitat:
Das eigentliche Warten findet in WaitForSingleObject statt. Ein Prozess-Handle ist nämlich genau dann signalisiert, wenn der Prozess beendet ist. INFINITE bedeutet, dass es keinen Timeout gibt. Diese Funktion würde ich nicht in einem GUI-Thread aufrufen. Falls du das tun willst, solltest du statt INFINITE einen kurzen Timeout setzen, beispielsweise 200 (Millisekunden) (das bewirkt, dass die Funktion zurückkehrt, wenn der Prozes beendet wurde oder der Timeout abgelaufen ist), oder gleich auf MsgWaitForMultipleObjects umsteigen, da das ermöglicht, Nachrichten parallel abzuarbeiten. Andernfalls kann es passieren, dass die Anwendung einfriert. |
Re: CreateProcess und mehrere Konsolenbefehle
Also das mit dem Timeout klingt interessant.
Delphi-Quellcode:
würden als 200ms verstreichen und dann ein Timeout zurückgegeben werden?
bei WaitForSingleObject(ProcInfo.hProcess, 200);
Ich würde es gerne so konstruieren, dass ich mit CreateProcess einen Netsh-Befehl ausführe, und erst wenn dieser erfolgreich ausgeführt wurde soll die nächste Zeile in der Aufruffunktion abgearbeitet werden. Falls der Befehl nicht korrekt abgearbeitet wurde oder eine Zeit überschritten wurde soll dies z.B. durch ein false gemeldet werden. |
Re: CreateProcess und mehrere Konsolenbefehle
Das Denken nehme ich dir nicht ab. :wink:
![]() |
Re: CreateProcess und mehrere Konsolenbefehle
Brauchst du auch nicht. Sag mir nur wie ich ein Timeout inzenieren kann um testen zu können ;)
|
Re: CreateProcess und mehrere Konsolenbefehle
Warum schaust du dir nicht die MSDN Doku dazu an?
|
Re: CreateProcess und mehrere Konsolenbefehle
Zitat:
|
Re: CreateProcess und mehrere Konsolenbefehle
Das heißt dort: "time-out".
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz