Alles vollkommen korrekt.
GetModuleFileName
Zitat:
Windows XP: The string is truncated to nSize characters and is not null-terminated.
The string returned will use the same format that was specified when the module was loaded. Therefore, the path can be a long or short file name, and can use the prefix "\\?\". For more information, see Naming a File.
Man hätte nur mal nachlesen zu brauchen.
GetModuleFileNameEx ?
Tja, das zeigt auch gleich, daß diese Programme mindestens Windows XP benötigen ... davor werden sie nichtmal starten.