AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi ShellExecute,WinExec ändern aktuelle Verzeichnis
Thema durchsuchen
Ansicht
Themen-Optionen

ShellExecute,WinExec ändern aktuelle Verzeichnis

Ein Thema von schind1978 · begonnen am 29. Okt 2003 · letzter Beitrag vom 29. Okt 2003
Antwort Antwort
schind1978

Registriert seit: 29. Okt 2003
Ort: Zwickau
11 Beiträge
 
#1

ShellExecute,WinExec ändern aktuelle Verzeichnis

  Alt 29. Okt 2003, 11:43
Hallo und Guten...

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
Schind

und es geht schon wieder nicht
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#2

Re: ShellExecute,WinExec ändern aktuelle Verzeichnis

  Alt 29. Okt 2003, 11:49
Und dein Problem ist jetzt ... ?
  Mit Zitat antworten Zitat
schind1978

Registriert seit: 29. Okt 2003
Ort: Zwickau
11 Beiträge
 
#3

Re: ShellExecute,WinExec ändern aktuelle Verzeichnis

  Alt 29. Okt 2003, 11:55
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
Schind

und es geht schon wieder nicht
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#4

Re: ShellExecute,WinExec ändern aktuelle Verzeichnis

  Alt 29. Okt 2003, 12:00
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
);
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: ShellExecute,WinExec ändern aktuelle Verzeichnis

  Alt 29. Okt 2003, 12:06
Zitat von schind1978:
....und das aktuelle Verzeichnis muss das von P2 sein und nicht wie bei Shellexec dass des Aufrufenden (P1).
....
Hai schnidl1978,

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]
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#6

Re: ShellExecute,WinExec ändern aktuelle Verzeichnis

  Alt 29. Okt 2003, 12:21
Zitat von Sharky:
Mathias war mal wieder schneller
Mag ja sein, aber ich kann lesen ... und du solltest dich lieber entschuldigen:
Zitat:
Hai schnidl1978,
  Mit Zitat antworten Zitat
franz77

Registriert seit: 28. Okt 2003
Ort: nähe München
7 Beiträge
 
Delphi 5 Professional
 
#7

Re: ShellExecute,WinExec ändern aktuelle Verzeichnis

  Alt 29. Okt 2003, 13:21
Hallo schind1978!

Zitat:
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 ..
Ich verstehe irgendwie immer noch nicht was genau damit gemeint ist.
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.
Selbst wenn es gelingen sollte eine 100% bugfreie App zu entwickeln, dann sind bestimmt - die Schriftarten nicht die Richtigen, die Farben zu wenig bunt...
  Mit Zitat antworten Zitat
schind1978

Registriert seit: 29. Okt 2003
Ort: Zwickau
11 Beiträge
 
#8

Re: ShellExecute,WinExec ändern aktuelle Verzeichnis

  Alt 29. Okt 2003, 13:38
Genau that's !!!

Danke an alle für eure Hilfe !!

Hier ist ja im Vergleich zur Newsgroup wirklich was los ...
Schind

und es geht schon wieder nicht
  Mit Zitat antworten Zitat
schind1978

Registriert seit: 29. Okt 2003
Ort: Zwickau
11 Beiträge
 
#9

Re: ShellExecute,WinExec ändern aktuelle Verzeichnis

  Alt 29. Okt 2003, 13:40
Achja, noch kurz ne Frage,

ich soll hier irgendwo meine Frage als beantwortet kennzeichnen, wo mach ich das?
Schind

und es geht schon wieder nicht
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:46 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