Datei aus Ordner öffnen

Funs

Newbie
Joined
Jan 20, 2008
Messages
47
Hi, ich benutze folgendes um eine exe datei, die im selben verziechnis ist, wie mein programm zu öffnen:
Code:
ShellExecute(NULL, "open", "programm.exe", NULL, NULL, SW_SHOW);
Nun liegt die zu öffnende .exe allerdings in einem ordner (der immernoch in dem selben ordner is, wie mein programm).

Wie gebe ich nun den pfad zu "programm.exe" an ohne einen pc-spezifischen-pfad zu benutzern?

hoffe auf hilfe

mfg Funs
 
Joined
Jun 12, 2009
Messages
597
Age
30
Location
Aachen
LOCATION
Aachen
Was meinst du mit "pc-spezifischen-pfad"? Dass du quasi \ oder / in der Pfadangabe verwenden kannst?
Wenn das so ist, kann ich dir gleich sagen, dass das nicht geht. ShellExecute() ist eine Windows-Funktion, das kriegst du unter Linux nicht kompiliert^^

Falls du jetzt eher relative Pfadangaben meinst, dann kannst du mit Hilfe des Handles deines Hauptprogrammes das Verzeichnis ermitteln, in dem es selbst liegt; dann einfach mit wsprintf() den Unterordner- und Programmnamen dranhängen, fertig :)
 

Funs

Newbie
Joined
Jan 20, 2008
Messages
47
Ich will es auf jeden pc (windows) öffnen können, weil es aus dem unterordner geöffnet werden soll, wo MEIN programm drin ist, also kein C:\bla\bla\programm.exe....

Also mein c++ programm liegt unter:
Code:
C:\User\Desktop\Project\project.exe
und öffnen will ich jetz
Code:
C:\User\Desktop\Project\data\programm.exe
nur ich will es ohne C:\ usw haben, damit es überall funktioniert.




könntest du mir vllt (Anhand eines Bsp.) zeigen, wie das mit wsprintf() geht?
kenn mich noch nich so gut aus...
 

torro

Still Fresh
Joined
Jan 24, 2009
Messages
370
versuchs mal mit ".\data\programm.exe"
oder gehen relative Pfade dort nicht?
 

Funs

Newbie
Joined
Jan 20, 2008
Messages
47
torro said:
versuchs mal mit ".\data\programm.exe"
oder gehen relative Pfade dort nicht?
Hab ich schon versucht mit nem Punkt gehst leider net
 

Gamepower

Well-Known Member
Joined
Aug 3, 2006
Messages
1,617
Age
39
Location
Pasewalk
ICQ
175127507
LOCATION
Pasewalk
kann der te mal sein source posten...? ich vermute hier eher einen anderen programmierfehler, als dass das programm nicht gestartet werden kann...
 

Funs

Newbie
Joined
Jan 20, 2008
Messages
47
kein progammierfehler, ganz sicher, wenn die datei im gleiche directory is, also man kein pfad braucht gehts :)
werde %CD% ma probiern morgen.

könnte es vllt auch an ShellExecute liegen?
 

zLouD

Member
Joined
Oct 12, 2008
Messages
598
Schmeiß es doch einfach in win32 :>

Das könnte dir vlt. helfen :)
http://vlaurie.com/computers2/Articles/environment.htm
 

psyco001

Still Fresh
Joined
Nov 12, 2007
Messages
260
oder man versucht es einfach mal damit den backslash im queltext doppelt zu nehmen:
Code:
".\\data\\xyz.exe"
 

Beltar

Newbie
Joined
Feb 13, 2007
Messages
214
Age
30
Location
Stein (nähe St. Pölten(A))
ICQ
232357654
LOCATION
Stein (nähe St. Pölten(A))
Wenn alles versagt kannst du auch eine nicht sehr schöne Lösung benutzen.

system("echo %cd% > txt.txt"); // Musst du nur einmal auf dem PC ausführen

Dann den Pfad aus txt.txt rauslesen, usw.

mfg
 
Top