![]() |
ShellExecute,WinExec ändern aktuelle Verzeichnis
Hallo und Guten... :duck:
ich habe ein Programm, welches von CD entscheidet ob ein anderes Programm installiert oder schon auf dem Rechner ist. Dem entsprechend startet es das Programm oder den Setup. Bei jedem Start des Programmes(welches auf der Festplatte installiert ist) macht es einen GetDir dummerweise steht da, wenn ich ShellExecute,WinExec nehme das CD-Verzeichnis und nicht das Programmverzeichnis des Festplatten Es liegt also nur noch an dem aktuellen Verzeichnis kann mir jem helfen *fleh Dank an alle !! Schind :angle: |
Re: ShellExecute,WinExec ändern aktuelle Verzeichnis
Und dein Problem ist jetzt ... ? :?
|
Re: ShellExecute,WinExec ändern aktuelle Verzeichnis
ich brauche eine Möglichkeit, wie ich aus einem Programm P1 ein anderes P2 starten kann.
und das aktuelle Verzeichnis muss das von P2 sein und nicht wie bei Shellexec dass des Aufrufenden (P1). Bei driektem Start wird ja auch in das Verzeichnis von P2 gewechselt .. schind |
Re: ShellExecute,WinExec ändern aktuelle Verzeichnis
Das Problem liegt also daran, dass dein Programm mit "GetDir" das aktuelle Arbeitsverzeichnis ermittelt? Dann solltest du entweder vor dem Start des Programms das aktuelle Verzeichnis wechseln (SetCurrentDir), oder du probierst, ob der entsprechende Parameter von ShellExecute schon ausreicht:
Code:
HINSTANCE ShellExecute(
HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, [b]LPCTSTR lpDirectory[/b], [i]// Arbeitsverzeichnis[/i] INT nShowCmd ); |
Re: ShellExecute,WinExec ändern aktuelle Verzeichnis
Zitat:
willkommen im Delphi-Praxis Forum. Wenn ich Dich richtig verstehe möchtest Du das aktuelle Arbeitsverzeichniss (welches ja mit GetDir ermittelt wir) setzen. Und das gegenteil von GetDir ist..... ChDir oder SetCurrentDir [EDIT]Mathias war mal wieder schneller[/EDIT] |
Re: ShellExecute,WinExec ändern aktuelle Verzeichnis
Zitat:
Zitat:
|
Re: ShellExecute,WinExec ändern aktuelle Verzeichnis
Hallo schind1978!
Zitat:
Wenn dein Problem das ist, dass bei P2 bei einem Start durch ShellExec, das aktuelle Verzeichnis in das von P1 zeigt, dann könntest Du mit ExtractFilePath (ParamStr (0)) den Pfad der eigenen EXE ermitteln und ihn dann mit SetDir explizit setzen. ExtractFilePath (String): String ist in der Unit sysutils und ParamStr (int) in der unit system definiert. Konnte ich Dir helfen? Gruss, Franz. |
Re: ShellExecute,WinExec ändern aktuelle Verzeichnis
Genau that's !!! :mrgreen: :mrgreen: :mrgreen: :-D :hello:
Danke an alle für eure Hilfe !! Hier ist ja im Vergleich zur Newsgroup wirklich was los ... :dp: |
Re: ShellExecute,WinExec ändern aktuelle Verzeichnis
Achja, noch kurz ne Frage,
ich soll hier irgendwo meine Frage als beantwortet kennzeichnen, wo mach ich das? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:18 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