Параметры в командной строке?!
Подскажите плиз, как обработать параметры в командной строке на MFC. И как вообще сделать программу, чтобы та принимала эти параметры?
ну, если ты знаешь, что такое функция WinMain, то там есть параметр LPSTR lpCmdLine (3 по счету) - это и есть командная строка. А если не знаешь, или не используешь default libraries, то есть функция GetCommandLine, которая возвращает указатель на командную строку.
В консольном приложении WinMain заменяется на main( int argc, char *argv[ ], char *envp[ ] )
где argv - это массив параметров командной строки, а argc - количество элементов в этом массиве.
Обработку можно совершать при помощи CommandLineToArgvW (в семействе Win NT), но ИМХО лучше делать это вручную.
ну, если ты знаешь, что такое функция WinMain, то там есть параметр LPSTR lpCmdLine (3 по счету) - это и есть командная строка. А если не знаешь, или не используешь default libraries, то есть функция GetCommandLine, которая возвращает указатель на командную строку.
В консольном приложении WinMain заменяется на main( int argc, char *argv[ ], char *envp[ ] )
где argv - это массив параметров командной строки, а argc - количество элементов в этом массиве.
Обработку можно совершать при помощи CommandLineToArgvW (в семействе Win NT), но ИМХО лучше делать это вручную.
Командную строку я поймал - ::GetCommandLine(), но в MFC WinMain() скрыта от программиста. Как в таком случае указать приложению, что следует принимать параметры?
Командную строку я поймал - ::GetCommandLine(), но в MFC WinMain() скрыта от программиста. Как в таком случае указать приложению, что следует принимать параметры?
Командная строка всегда сохраняется в CWinApp, и ничего никуда указывать не нужно.
Используй функцию
CWinApp::ParseCommandLine
Чтобы получить указатель на CWinApp - использую глобальную функцию AfxGetApp()
Командная строка всегда сохраняется в CWinApp, и ничего никуда указывать не нужно.
Используй функцию
CWinApp::ParseCommandLine
Чтобы получить указатель на CWinApp - использую глобальную функцию AfxGetApp()
Командную строку-то я вижу - это путь к файлу. Я не могу передать параметры в программу. При попытке запустить с командной C:/имя_файла_параметр получается ошибка - такого файла нет.