AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi CreateProcess und mehrere Konsolenbefehle
Thema durchsuchen
Ansicht
Themen-Optionen

CreateProcess und mehrere Konsolenbefehle

Ein Thema von Sunshine21 · begonnen am 30. Jun 2008 · letzter Beitrag vom 2. Jul 2008
Antwort Antwort
Seite 2 von 2     12   
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: CreateProcess und mehrere Konsolenbefehle

  Alt 1. Jul 2008, 12:45
Das Try-Except halte ich für sinnlos, streiche mal das Try sowie alles von Except bis zum folgenden End.

Zitat:
Erst wenn der Rückgabewert von CreateProcess true ist, ist der Befehl oder die Anwendung abgearbeitet.
Der Rückgabewert von CreateProcess wird natürlich nur einmal gesetzt. Er gibt nur an, ob das Erstellen erfolgreich war (false ist er z.B., wenn die Datei nicht existiert).
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.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Sunshine21

Registriert seit: 26. Jun 2008
27 Beiträge
 
#12

Re: CreateProcess und mehrere Konsolenbefehle

  Alt 1. Jul 2008, 13:20
Also das mit dem Timeout klingt interessant.

bei WaitForSingleObject(ProcInfo.hProcess, 200); würden als 200ms verstreichen und dann ein Timeout zurückgegeben werden?

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.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: CreateProcess und mehrere Konsolenbefehle

  Alt 1. Jul 2008, 13:23
Das Denken nehme ich dir nicht ab. MSDN-Library durchsuchenWaitForSingleObject
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Sunshine21

Registriert seit: 26. Jun 2008
27 Beiträge
 
#14

Re: CreateProcess und mehrere Konsolenbefehle

  Alt 1. Jul 2008, 14:03
Brauchst du auch nicht. Sag mir nur wie ich ein Timeout inzenieren kann um testen zu können
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#15

Re: CreateProcess und mehrere Konsolenbefehle

  Alt 1. Jul 2008, 14:12
Warum schaust du dir nicht die MSDN Doku dazu an?
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Sunshine21

Registriert seit: 26. Jun 2008
27 Beiträge
 
#16

Re: CreateProcess und mehrere Konsolenbefehle

  Alt 2. Jul 2008, 09:09
Zitat von Dezipaitor:
Warum schaust du dir nicht die MSDN Doku dazu an?
Hab ich schon gemacht konnte aber nichts über Timeoutinzenierung finden. Du?
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#17

Re: CreateProcess und mehrere Konsolenbefehle

  Alt 2. Jul 2008, 13:07
Das heißt dort: "time-out".
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz