Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как запустить прогу с параметрами командной строки, с помощью CreateProcess или ShellExecute 
V
    Опции темы
AndreySol
Дата 1.4.2006, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 19.6.2004

Репутация: 1
Всего: 1



К примеру, для WinRAR, если выполнить команду "C:\Program Files\WinRAR\WinRAR.exe" "%1", где вместо %1 подставить какой-то файл-архив, то запустится WinRAR и в нем откроется этот архив.
Дайте пример как это сделать с помощью CreateProcess или ShellExecuteEx, куда какие параметры вставлять ? Т.е. куда и как вставлять путь WinRAR'а а куда файла-архива ? Читал в MSDN, но не смог сам разобраться.
P.S. Если кто знает и для CreateProcess и для ShellExecuteEx, то дайте пример для CreateProcess.
PM MAIL   Вверх
DeadSoul
Дата 1.4.2006, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Выдрано из очень старого кода
Код

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;
    }



--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
AndreySol
Дата 1.4.2006, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 19.6.2004

Репутация: 1
Всего: 1



Разобрался вроде, спасибо Всем.
PM MAIL   Вверх
xPATRIOTx
Дата 3.5.2006, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



а как сделать чтобы работало перенаправление ввода/вывода?
например мне надо запустить "a.exe <in.txt >out.txt"
 
PM MAIL   Вверх
DeadSoul
Дата 3.5.2006, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Вывод в командной строке делается так:
Код

my.exe >C:/1.txt
 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
xPATRIOTx
Дата 5.5.2006, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



мне надо запустить левую прогу из моей, а вы, видимо, привели пример как замустить мою прогу из cdm.exe 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.1066 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.