![]() |
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:
Die BAT soll ein anderes Programm starten (welches auch wirklich über die BAT gestartet werden soll und nicht über ShellExecute();.
@echo off
echo TestTest test.exe pause Zum starten der BAT, ist klar, nutze ich:
Delphi-Quellcode:
Mein Problem jetzt:
ShellExecute(Handle,'open',PChar(progpath+'testbat.bat'),nil,nil,SW_SHOWNORMAL);
Zitat:
Evtl. kann mir jemand helfen, Whoopee |
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:
schreiben. Ich würde die folgende Funktion aus der FmxUtils.pas empfehlen:
ShellExecute(Handle,'open',PChar(progpath+'testbat.bat'),nil,pchar(progpath),SW_SHOWNORMAL);
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; |
Re: Problem mit ShellExecute();
danke :) geht :) :) :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 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