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

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



Память: 0.46 MB
Время: 0.026 c
9-1113771062
D-Man
2005-04-18 00:51
2005.08.21
Шум Перлина?


9-1114329743
Slicer__
2005-04-24 12:02
2005.08.21
Создание машины с ODE


14-1122828139
Fin
2005-07-31 20:42
2005.08.21
EDGE в центре Москвы.


1-1122865029
Lexa
2005-08-01 06:57
2005.08.21
Ошибка при работе со строковыми переменными?


1-1123048026
ZSegrey
2005-08-03 09:47
2005.08.21
почему исчезает текст в СтатусБаре?




   Наверх