Verzeichnis der .exe Datei
-
Hi, wie erhält man das Verzeichnis in dem sich ein Programm befindet?
Danke
M.T.
-
Entweder GetCurrenDirectory, was jedoch änderbar ist, und somit nur unmittelbar nach dem Start zuverlässig ist, oder die Parameter afaik
Ich mach mich ma schlau!
Edit: hab müll gelabert nix is mit den Parameternm geht also bis jetzt mit GetCurrentDirectory. Wenn ich noch was finde, sag ichs dir
[ Dieser Beitrag wurde am 14.06.2002 um 14:58 Uhr von C++ editiert. ]
-
Hi noch mal, funktioniert irgendwie nich. Ich hab :
LPTSTR appDirectory; GetCurrentDirectory(50,appDirectory); MessageBox(hWnd,appDirectory,"",MB_OK);
auf diese Weise bringt er ne leere MSG Box. Wenn die max-Länge > 50 ist bringt er nen Ausnahmefehler. Was ist falsch?
Danke
M.T.
-
Versuch mal dein Glück mit GetModuleFileName. GetCurrentDirtectory ist ganz gefährlich, da brauch bei einem Link nur ein anders Arbeitsverzeichnis eingestellt zu sein und schon ist es Käse.
-
Ich benutze immer getcwd!
-
Ich benutze immer getcwd!
Nur leider bekommst Du damit nicht das Exe-Verzeichnis, sondern eben das cwd. Aber das hat Luckie doch gerade schon erzählt.
-
zu GetCurrentDirectory
char dir[MAX_PATH]; GetCurrentDirectory(MAX_PATH, dir);
-
hi,
oder mit folgender funktion:
void FindWorkPath(void) {//begin FindWorkPath() // Find path info GetModuleFileName(hInstance, pbyProgramExeName, MAX_PATH); _splitpath(pbyProgramExeName, pbyProgramDrive, pbyProgramDir, NULL, NULL); sprintf(pbyProgramPath, "%s%s", pbyProgramDrive, pbyProgramDir); SetCurrentDirectory(pbyProgramPath); }//begin FindWorkPath()
die setzt auch gleichzeitig CurrentDirectory
gruß
firefly
-
Warum so umständlich?
char szDir[MAX_PATH]; GetModuleFileName(0, szDir, MAX_PATH); *strrchr(szDir, '\\') = 0;
Das wars!
-
*strrchr(szDir, '\') = '\0';
-
0=='\0'
Also was gibts da zu verbessern?
-
nix, hatte nix zu tun und wollte mal was sinnloses posten. sorry
-
Thanks so funktionierts, nur noch ne Kleinigkeit : welchen Paramenter (%?) benötigt sprintf für char[...]?
M.T.
-
%s
-
LOOOOL
char, am Anfang ein C, also warum bitte %s? Sollte doch wohl eher %c heissen gelle?Oder täusch ich mich mal wieder
-
%c ist aber nur für ein zeichen, ein verzeichnisname ist aber ein char-array und dafür muss man %s (wahrscheinlich string) nehmen
-
Mit %s funktionierts
Thanks @ all
M.T.
-
Üps, ich hab übersehen, dass er char[...] und nicht char schreib, habs Array uberguckt
Ich hab mich mal wieder getäuscht
-
%s = string = char[]
%c = char
-
Der Threat ist ja erst knapp nen halbes Jahr alt ...