Разбор аргументов командной строки в Windows XP отличается от Windows 10
Рассмотрим аргумент командной строки:
D:\work\test.exe -a -p
Main () моего приложения на C++ получает следующие аргументы:
Windows 10
argc = 3 argv[0] = "D:\work\test.exe" argv[1] = "-a" argv[2] = "-p"
Windows XP
argv = 3 argv[0] = "test.exe" argv[1] = "-a" argv[2] = "-p"
Аргумент argv[0] анализируется по-разному. Моему приложению нужно, чтобы они были такими же.
Есть ли способ получить полный путь в Windows XP?
Я пробовал как main, так и winmain, и результат тот же.
1 ответ
Вы можете определить полный путь к файлу.exe приложения следующим образом:
WCHAR *path = new WCHAR [32768]; // allow for long path names on Win 10
GetModuleFileNameW (NULL, path, 32768);
...
delete [] path;