Главная страница
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.126 c
1-1123044847
Ищущий
2005-08-03 08:54
2005.08.21
что-то типа progressbar a


4-1120045370
Inspired
2005-06-29 15:42
2005.08.21
Как перетащить файл из своей проги в другую?


4-1118906834
leonidus
2005-06-16 11:27
2005.08.21
Как получить слово выделенное в другом приложении


1-1121769809
xwag
2005-07-19 14:43
2005.08.21
Отлов ошибок нехватки памяти и дискового пространства


14-1122941411
k2
2005-08-02 04:10
2005.08.21
Imagine Cup 2005