Namen der .exe bzw. Programms herausfinden
-
Sers,
ich hab mal eine kleine Frage...
also ich progge gerade mit dev c++ an einem Programm und bin nun an einer Funktion hängengeblieben, in der ich den Namen des Programms wissen muss. Also ich meine damit, wenn ich "abc.exe" aufrufe in den String ProgrammName "abc.exe" geschrieben wird, klar könnte man das statisch machen, aber wenn der User - warum auch immer - den Programmnamen ändert zB. in "cba.exe" steht dann unschön im Programm "abc.exe" ...
Also ihr wisst was gemeint ist.Gibt es jetzt i-eine Konstante oder eine Funktion, die mir diesen String zurückgibt?
-
Wenn Du unter Windows programmierst:
int main(int argc, char* argv[])
{
printf("%s\n", argv[0]);
}
-
Belli schrieb:
Wenn Du unter Windows programmierst:
int main(int argc, char* argv[])
{
printf("%s\n", argv[0]);
}Falsch. Via CreateProcess kann man diesen Parameter frei vergeben.
GetModuleFileName ist der einzig korrekte Weg.
-
Diese Funktion finde ich nicht in der MSDN. Für GetModuleHandle brauche ich aber bereits den Programmnamen?!
-
-
Für die verlinkte Funktion benötige ich den Modulhandle - wo bekomme ich den her?
-
Lesen
Um den Dateinamen des aktuellen Prozesses zu bekommen langt NULL!
-
super funktioniert thx