Как получить аргументы командной строки в приложениях MFC? - PullRequest
20 голосов
/ 06 апреля 2011

Я хочу иметь небольшое диалоговое приложение, которому передаются параметры командной строки, поэтому, используя VC ++ 6, я запустил мастер приложений и выбрал диалоговое приложение MFC.

Это не снабжается автоматически параметрами командной строки. Поэтому я пошел на MSDN, чтобы обновить мою память на них. MSDN утверждает, что все программы на C ++ иметь функцию main () или wmain () и аргументы argc и т. д. иди сюда. В только что созданном приложении их нет.

Поскольку, очевидно, существует функция, которая является точкой входа в приложение, Я придерживаюсь аргументов здесь? Я попробовал это, но я не уверен, что я на самом деле редактировал правильную функцию. (Могу ли я найти функцию, которая выступает в качестве функции main () в настройках проекта или аналогичных?)

По сути, как заставить мою программу читать параметры командной строки.

Также как боковая линия. Для простой программы, которая это, я действительно не хочу сделать его приложением MFC, и, следовательно, размером более МБ. Существуют ли библиотеки шаблонов приложений, которые позволят мне сделать диалог без MFC приложение?

Ответы [ 4 ]

34 голосов
/ 06 апреля 2011

Использовать GetCommandLine () , которая возвращает имя исполняемого файла, следуют аргументы.

Член приложения m_lpCmdLine (используется как yourApp.m_lpCmdLine) содержит только аргументы.

Существует также CWinApp :: ParseCommandLine () , который может оказаться полезным.

Также попробуйте мастер ATL COM для создания диалогового приложения без MFC (выберите параметр .exe, а не .dll).

5 голосов
/ 06 апреля 2011

Да, см. CWinApp: ParseCommandLine .Также взгляните на класс CCommandLineInfo .

2 голосов
/ 26 марта 2018

В приложениях MFC функция точки входа - это initInstance (), например main() или wmain(). Используйте CWinApp::m_lpCmdLine в initInstance() для доступа к командной строке.

0 голосов
/ 29 апреля 2013

"Существуют ли библиотеки шаблонов мастера приложений, которые позволят мне создать приложение без диалогового окна MFC?"

Вы можете создать приложение без MFC, используя опцию "Проект Win32" в New Project ->Visual C ++ -> Win32.

Или просто используйте C #, намного проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...