Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit ShellExecute(); (https://www.delphipraxis.net/51222-problem-mit-shellexecute-%3B.html)

Mr Whoopee 8. Aug 2005 17:16


Problem mit ShellExecute();
 
Hallihallo,
ich habe ein Problem mit ShellExecute();. Ich möchte eine *.bat starten, die nicht im Programmverzeichnis liegt.
Aufbau der BAT:
Delphi-Quellcode:
@echo off
echo TestTest
test.exe
pause
Die BAT soll ein anderes Programm starten (welches auch wirklich über die BAT gestartet werden soll und nicht über ShellExecute();.
Zum starten der BAT, ist klar, nutze ich:
Delphi-Quellcode:
ShellExecute(Handle,'open',PChar(progpath+'testbat.bat'),nil,nil,SW_SHOWNORMAL);
Mein Problem jetzt:
Zitat:

Teset
Der Befehl "TEST.EXE" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Drücken Sie eine beliebige Taste . . .
Wenn ich die BAT manuell starte (also via Doppelklick), dann startet er die Test.exe :/.

Evtl. kann mir jemand helfen,

Whoopee

ichbins 8. Aug 2005 18:00

Re: Problem mit ShellExecute();
 
Du hast das Problem mit dem Ausführen-in-Verzeichniss. Die Batchdatei wird so ausgeführt wie wenn sie im Verzeichniss des Programmes läge. Du darfst nicht NIL verwenden, sondern musst
Delphi-Quellcode:
ShellExecute(Handle,'open',PChar(progpath+'testbat.bat'),nil,pchar(progpath),SW_SHOWNORMAL);
schreiben. Ich würde die folgende Funktion aus der FmxUtils.pas empfehlen:

Delphi-Quellcode:

function ExecuteFile(const FileName, Params, DefaultDir: string;
  ShowCmd: Integer): THandle;
var
  zFileName, zParams, zDir: array[0..79] of Char;
begin
  Result := ShellExecute(Application.MainForm.Handle, nil,
    StrPCopy(zFileName, FileName), StrPCopy(zParams, Params),
    StrPCopy(zDir, DefaultDir), ShowCmd);
end;

Mr Whoopee 8. Aug 2005 21:04

Re: Problem mit ShellExecute();
 
danke :) geht :) :) :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:19 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