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

Вниз

CreateProcess   Найти похожие ветки 

 
Dmitrij_K   (2005-06-29 13:53) [0]

Коuда запускаешь через ком. строку
программу типа
unzip.exe>aaa.txt
результат выводиться в файл
а если это делать через CreateProcess то нет
CreateProcess(nil, "unzip.exe>aaa.txt", ...
Спасибо


 
-=S.S=- ©   (2005-06-29 13:59) [1]

Для таких целей юзай winexec


 
Dmitrij_K   (2005-06-29 14:01) [2]

Неподойдет
я жду завершения процесса и потом считываю получившийся файл
т.е. мне придется читать то что пишет программа в консоль и больше никак?


 
Digitman ©   (2005-06-29 14:08) [3]


> т.е. мне придется читать то что пишет программа в консоль
> и больше никак?


а чем тебе такой подход не нравится ?

перед стартом процесса создай пайп (см. CreatePipe), полученный хендл устройства вывода подставь в поле hStdOutput структуры STARTUPINFO, стартуй процесс (CreateProcess) ..

все что процесс выводит в консоль, будет перенаправлено в твой пайп и ты это спокойно прочитаешь


 
BiN ©   (2005-06-29 14:10) [4]

Msdn->DuplicateHndle->секция Examle Code


 
alpet ©   (2005-06-29 14:17) [5]

Также действенен след. подход:

procedure TForm1.Button1Click(Sender: TObject);
const
    prog: String = "c:\windows\system32\cmd.exe /c dir > c:\123.txt";
var
    si: _STARTUPINFOA;
    pi: _PROCESS_INFORMATION;
begin
// x := TSomeObj.Create;
fillchar (si, sizeof (si), 0);
fillchar (pi, sizeof (pi), 0);
si.cb := sizeof (si);
CreateProcess (nil, PChar (prog), nil, nil, false, 0,
               nil, nil, si, pi);

Нужно только заменить dir на unzip.exe или что ты там выполнить хочешь.


 
MBo ©   (2005-06-29 14:19) [6]

CreateProcess(nil,PChar("cmd /C rar.exe >> e:\out.txt"), ...


 
MBo ©   (2005-06-29 14:19) [7]

пардон, [5] не видел


 
Dmitrij_K   (2005-06-29 14:20) [8]

2alpet
так не работает
уже пишу с перехватом
всем спасибо
тема закрыта



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

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

Наверх




Память: 0.48 MB
Время: 0.072 c
4-1119697602
Darkwing
2005-06-25 15:06
2005.08.21
Асинхронный I/O


14-1122290347
Rule
2005-07-25 15:19
2005.08.21
Делюся радостью !!!!


14-1122647124
oldman
2005-07-29 18:25
2005.08.21
Проблемы с несчастным SP2.


1-1122897593
JIuradfsd
2005-08-01 15:59
2005.08.21
Как сделать прерывание цикла в программе при нажатии на кнопку?


1-1122724239
Antonn
2005-07-30 15:50
2005.08.21
Ресурсы в EXE шнике