Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Как запустить прогу с параметрами командной строки


Автор: AndreySol 1.4.2006, 14:50
К примеру, для WinRAR, если выполнить команду "C:\Program Files\WinRAR\WinRAR.exe" "%1", где вместо %1 подставить какой-то файл-архив, то запустится WinRAR и в нем откроется этот архив.
Дайте пример как это сделать с помощью CreateProcess или ShellExecuteEx, куда какие параметры вставлять ? Т.е. куда и как вставлять путь WinRAR'а а куда файла-архива ? Читал в MSDN, но не смог сам разобраться.
P.S. Если кто знает и для CreateProcess и для ShellExecuteEx, то дайте пример для CreateProcess.

Автор: DeadSoul 1.4.2006, 15:03
Выдрано из очень старого кода
Код

STARTUPINFO stStartupInfo;                      // Variables for
    PROCESS_INFORMATION stProcessInfo;              // archive process 
    // Заполняем переменную для процедуры CreateProcess
    stStartupInfo.cb=sizeof(STARTUPINFO);
    stStartupInfo.wShowWindow=SW_HIDE;
    stStartupInfo.lpReserved = NULL;
    stStartupInfo.lpDesktop = NULL;
    stStartupInfo.dwFlags = STARTF_USESHOWWINDOW;
    stStartupInfo.cbReserved2 = 0;
    stStartupInfo.lpReserved2 = NULL;
    stStartupInfo.lpTitle = "Архивация данных";

    //    архивирую
    CString sQuery = _T("\"C:\\Program Files\\WinRAR\\rar.exe\" a -ep ") + 
                    CString( TMP_ARC_NAME )+ CString(" ") + 
                    CString(TMP_ARC_FOLDER) + _T("*.*");
    if (!CreateProcess(0, sQuery.GetBuffer(0), 0, 0, 0, 0, 0, NULL,    &stStartupInfo,    &stProcessInfo) )
    {
        sError    =    "Невозможно запустить rar";
        return FALSE;
    }

Автор: AndreySol 1.4.2006, 19:51
Разобрался вроде, спасибо Всем.

Автор: xPATRIOTx 3.5.2006, 21:25
а как сделать чтобы работало перенаправление ввода/вывода?
например мне надо запустить "a.exe <in.txt >out.txt"
 

Автор: DeadSoul 3.5.2006, 22:00
Вывод в командной строке делается так:
Код

my.exe >C:/1.txt
 

Автор: xPATRIOTx 5.5.2006, 08:32
мне надо запустить левую прогу из моей, а вы, видимо, привели пример как замустить мою прогу из cdm.exe 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)