Приложение для принятия аргументов во время работы - PullRequest
0 голосов
/ 13 июля 2011

Я использую Visual Studio 2008 и MFC. Я принимаю аргументы, используя подкласс CCommandLineInfo и переопределяя ParseParam ().

Теперь я хочу передать эти аргументы приложению во время работы. Например, «test.exe / start», а затем введите в консоли «test.exe / initialize» для повторной инициализации.

есть ли способ сделать это?

Редактировать 1: Некоторые пояснения. Моя программа начинается с "test.exe / start". Я хочу набрать «test.exe / initialize» и инициализировать единственный работающий процесс (без закрытия / открытия). Под инициализацией я подразумеваю прочитать другой файл XML, изменить некоторые значения интерфейса и другие вещи.

Ответы [ 2 ]

1 голос
/ 13 июля 2011

Я не могу придумать простой способ выполнить то, о чем вы спрашиваете.

Однако вы могли бы разработать свое приложение для конкретного приема команд, и, учитывая эти команды, выполняйте любые действия, которые вы хотите, основываясь на их получении. Поскольку вы уже используете MFC, вы можете сделать это довольно легко. Создайте окно (HWND) для своего приложения и зарегистрируйте его. Это не должно быть видимым (это не обязательно сделает ваше приложение приложением с графическим интерфейсом). Реализуйте WndProc и определите конкретные сообщения, которые вы будете получать на основе WM_USER + <xxx>.

0 голосов
/ 13 июля 2011

Первый и очевидный вопрос: почему вы хотите иметь потоки, а не процессы.

Вы можете использовать GetCommandLine и CommandLineToArgvW, чтобы получить полностью отформатированную командную строку.Определите аргументы и вызов CreateProcess или ShellExecute, передающий / независимо от , чтобы вызвать процесс.Вы также можете использовать GetModuleBaseName, чтобы получить имя своего собственного EXE-файла.

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