Вниз
Скачать: 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.027 c
4-1120312831
SpyBoy
2005-07-02 18:00
2005.08.21
Раскладка клавиатуры


1-1122623099
Mishenka
2005-07-29 11:44
2005.08.21
Как в ListView запретить вручную изменять ширину столбцов?


1-1123129297
Kara
2005-08-04 08:21
2005.08.21
Ошибка SQL


14-1122718012
Ajax
2005-07-30 14:06
2005.08.21
Экспоненциальное усреднение


4-1120277194
mr.IL
2005-07-02 08:06
2005.08.21
AveSync




   Наверх