MSDN.WhiteKnight - Stack Overflow answers
Ответ на "Функция открыть с помощью, получить адрес открываемого файла на С++ без консоли"
Answer 1091864
Тут проблема в том, что при установке параметра Subsystem в "Windows" вид точки входа изменяется. Точка входа по умолчанию для приложения Win32 будет иметь такой вид:
INT WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, INT nCmdShow)
т.е. командная строка передается третьим параметром. Если вы устанавливаете Subsystem=Windows, но при этом принудительно задаете точку входа main, то аргументы будут обрабатываться неправильно. Лучше сделать так:
Сбросить параметр Entry point в значение по умолчанию
Вместо функции main создать в проекте функцию WinMain с указанным выше прототипом.
Тогда вы сможете получить доступ к переданным аргументам командной строки через параметр lpCmdLine, который является указателем на строку char* (если параметров несколько, вы можете разделить строку через strtok). Другой вариант - использовать функцию GetCommandLine, которая позволяет получить командную строку из любой функции.
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.