Главная страница
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.021 c
14-1090274838
Piter
2004-07-20 02:07
2004.08.08
Руссификация TTabControl


14-1090415669
Dimka Maslov
2004-07-21 17:14
2004.08.08
Degauss


14-1089100382
Глеб
2004-07-06 11:53
2004.08.08
Изготовление справочной системы


6-1086807870
SendeR
2004-06-09 23:04
2004.08.08
Основы программирования сети.....


3-1089274904
Ander
2004-07-08 12:21
2004.08.08
Помогите с восстановлением рухнувшего индекса БД средствами Delph