Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

Запуск консольных процессов   Найти похожие ветки 

 
Dima   (2004-07-22 18:45) [0]

Люди, помогите разобраться с запуском процессов. Ниже приведен фрагмент кода. Процесс (rar) запускатеся, но результаты не выгружаются в файл (123.txt). Почему? И еще: Как вызавть команду например такого вида: "dir c:\ >> 123.txt" - в этом случае приведнный ниже код вообще не может создать процесс.:(

var si:TStartupInfo;
   pi:TProcessInformation;
...    
  cmdline1:="rar >> 123.txt";
  cmdpath1:="c:\";
  ZeroMemory(@si,sizeof(si));
  si.cb:=SizeOf(si);
  if not CreateProcess(nil,pChar(cmdline1),nil,nil,false,0,nil,pChar(cmdpath1),si,pi) then
   begin
    SendMess("Can""t create process.");
    exit;
   end;
  SendMess("Waiting for process exit..");
  WaitForSingleObject(pi.hProcess, INFINITE);


 
VMcL ©   (2004-07-22 18:49) [1]

>>Dima  (22.07.04 18:45)

FAQ: http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=1057316445&n=15


 
DiamondShark ©   (2004-07-22 18:50) [2]


> cmdline1:="rar >> 123.txt";

cmdline := "cmd.exe /C rar >> 123.txt"


 
Юрий Зотов ©   (2004-07-22 18:54) [3]

> Процесс (rar) запускатеся, но результаты не выгружаются в файл
> (123.txt).

Проверьте, выгружаются ли они при ручном запуске этой же команды (меню "Пуск" - "Выполнить"). Если тоже нет - значит rar пишет не через стандартный output и тогда перенаправить его вывод так просто не получится.

> Как вызавть команду например такого вида: "dir c:\ >> 123.txt"

Dir - не программа, а команда. Нужно запускать командный процессор (command.com или cmd.exe) и передавать ему эту команду.


 
DiamondShark ©   (2004-07-22 19:06) [4]


> Проверьте, выгружаются ли они при ручном запуске этой же
> команды

А чего проверять-то? Команду ">>" не рар и не загрузчик процессов выполняет, а командный интерпретатор.


 
AlexKniga ©   (2004-07-22 19:57) [5]

DiamondShark
">>" перенаправляет stdout, но программа не обязана использовать stdout. Вот и нужно проверить использует ли прога stdout.



Страницы: 1 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.066 c
14-1089973515
вразлет
2004-07-16 14:25
2004.08.08
Должностные инструкции


14-1090007790
Nickola2
2004-07-16 23:56
2004.08.08
Ураа!!! Подключил через GPRS дома телефон!! :))


4-1088251384
Uran
2004-06-26 16:03
2004.08.08
Как узнать параметры командной строки у консольного приложения


9-1082469550
Creep
2004-04-20 17:59
2004.08.08
Canvas


14-1090486247
syte_ser78
2004-07-22 12:50
2004.08.08
Загадка