Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CreateProcess


Dmitrij_K ©   (2005-06-29 13:53:00) 

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


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

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


MBo   (2005-06-29 14:19:00) [2]

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


MBo   (2005-06-29 14:19:00) [3]

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


alpet   (2005-06-29 14:17:00) [4]

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

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 или что ты там выполнить хочешь.


BiN   (2005-06-29 14:10:00) [5]

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


Digitman   (2005-06-29 14:08:00) [6]


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


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

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

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


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

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


-=S.S=-   (2005-06-29 13:59:00) [8]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо