Egal wo ich die exe ausführe ...
-
... kommt nur der Lauwerksbuchstabe raus:
char name[MAX_PATH]={0}; GetModuleFileName(NULL, name, MAX_PATH);
Hätte aber gern den kompletten Pfad zur Exe.
Wie machen?
-
du musst einfach nur
cout<<name<<endl;
machen statt
cout<<*name<<endl;
-
ich programmiere in c und benutze puts(buffer);
-
Win32-Konsole n00b schrieb:
ich programmiere in c und benutze puts(buffer);
puts(name) ist gut.
hast du compilerwarnungen ignoriert?
-
aah..verflixt. ja, hab ich ignoriert bzw. übersehen!
wenn ich das so schreibe, dann gehts:wchar_t buffer[256]={0}; GetModuleFileName(NULL,buffer,256); wprintf(buffer);
wollt das aber gern ohne wchar_t haben, also mit char.
habs so probiert:
#undef UNICODE #undef _UNICODE #define MBCS
funzt aber auch nicht.
-
aaah jetzt ja!
man muss die zeilen:#undef UNICODE #undef _UNICODE #define MBCS
über
#include <windows.h> packen, ich trollo!danke, gruß und tschüs,
w.k.n
-
Win32-Konsole n00b schrieb:
aaah jetzt ja!
man muss die zeilen:#undef UNICODE #undef _UNICODE #define MBCS
über
#include <windows.h> packen, ich trollo!danke, gruß und tschüs,
w.k.nAbsoluter Unfug. Stell Dein Projekt korrekt auf MBCS ein und nicht auf Unicode und dan nwird das auch richtig gemacht. Gehe in die Projekteinstellungen und auf der ersten Seite (VS-200x) findest Du diese Einstellung.
Mein Rat: Arbeite mit TCHAR. Dann hast Du solche Probleme nicht.