AW: Programmname rausfinden?
... in der main argv[0] google das mal ...
AW: Programmname rausfinden?
Unter Windows kannst du GetModuleFileNameW aus der WinAPI benutzen:
GetModuleFileNameW
AW: Programmname rausfinden?
@Jut4h.tm
Das geht nur wenn im Programmname kein Unicode vorkommt, was jedoch der Fall ist!
@sp1nny
kannst du mir dazu ein kleines Codebeispiel machen? Habe es nun versucht bekomme aber andauernd Fehler usw.. komme nicht so recht damit zurecht...
AW: Programmname rausfinden?
Versuchs mal so:
Code:
#include <windows.h>
int main(void)
{
WCHAR filename[MAX_PATH];
DWORD lengthfn;
lengthfn = GetModuleFileNameW(NULL, filename, sizeof(filename));
WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), &filename, lengthfn, NULL, NULL);
return 0;
}
:)
mfg
AW: Programmname rausfinden?
Habe es soeben versucht, es lässt sich Compilieren aber leider zeigts das immernoch nicht Korrekt an. Dort wo das unicode zeichen steht ist dann "H?.exe" anstelle von "Hexe.gif" (Das Unicodezeichen ist übrigens \u202e, falls das jemanden Hilft).
Normalerweise sollte WriteConsoleW(); doch Unicode korrekt darstellen können?
Nochmals Danke.
mfg cy
AW: Programmname rausfinden?
Zitat:
Zitat von
sp1nny
Code:
#include <windows.h>
int main(void)
{
WCHAR filename[MAX_PATH];
DWORD lengthfn;
lengthfn = GetModuleFileNameW(NULL, filename, sizeof(filename));
WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), &filename, lengthfn, NULL, NULL);
return 0;
}
Das käme bei C++-strict nicht durch.
Außerdem würde ich einfach ne MessageBox zum austesten vorschlagen, viel einfacher:
Code:
int main()
{
wchar_t filename[MAX_PATH];
GetModuleFileNameW(NULL, filename, sizeof(filename));
MessageBoxW(0, filename, L"", 0);
return 0;
}
AW: Programmname rausfinden?
Zitat:
Zitat von
S3RB31
Außerdem würde ich einfach ne MessageBox zum austesten vorschlagen, viel einfacher:
Eventuell kann die cmd.exe einfach keine Unicode-Zeichen anzeigen.
Code:
C:\Users\User>type C:\Windows\System32\cmd.exe
Spielt euch ein schönes Lied auf der Konsole.
AW: Programmname rausfinden?
Zitat:
Zitat von
S3RB31
Code:
int main()
{
wchar_t filename[MAX_PATH];
GetModuleFileNameW(NULL, filename, sizeof(filename));
MessageBoxW(0, filename, L"", 0);
return 0;
}
Das hat nun funktioniert ;)! Danke :)
Werde mal etwas weiter experimentieren damit , so das ich die Funktion hinbekomme die ich brauch für mein Programm :)
Danke nochmal an alle;)
mfg Surflam