Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
4-1088496599
Lin
2004-06-29 12:09
2004.08.08
Кнопка в заголовке всех окон


4-1087279348
Сергей Ю.
2004-06-15 10:02
2004.08.08
Shell в XP


14-1090566156
Mur_r
2004-07-23 11:02
2004.08.08
MS Help Workshop


1-1090472523
cvg
2004-07-22 09:02
2004.08.08
Перехват нажатия клавиши неактивной формой


1-1090397987
Igor_thief
2004-07-21 12:19
2004.08.08
Как получить высоту выпавшего PopupMenu?




   Наверх