2012-04-04 8 views

Antwort

1

Verwenden Sie CreateProcess(), um "cmd.exe /C batchfilename parameters" auszuführen, wobei der Pfad zu cmd.exe von der Umgebungsvariablen %COMSPEC% abgerufen wird.

3

Sie können dies sicherlich mit CreateProcess() wie von @Remy beschrieben tun. CreateProcess() ist jedoch nicht die einfachste zu bedienende Funktion.

uses 
    ShellAPI; 
.... 
ShellExecute(0, 'open', PChar(BatchFileName), 'param1 param2', 
    nil, SW_SHOWDEFAULT); 

Letztlich dies das führen wird COMSPEC Variable, las und dann ein Aufruf an CreateProcess() wird gemacht: Für die Bequemlichkeit Sie ShellExecute() zu sein eine zugängliche Option finden. Der Vorteil ist, dass Sie die Shell das schwere Heben für Sie machen lassen.

+0

Ja, ich habe diesen Befehl verwendet, aber nicht für meine exe; –

+0

Ich verstehe deinen Kommentar nicht. Was exe und was ist damit? –

+0

+1 @DavidHeffernan würden Sie diese Methode empfehlen, um eine vorhandene .vbs-Datei auch auszuführen? oder sollte ich Windows Script Interfaces verwenden (scheint mir übertrieben)? – Sam

Verwandte Themen