Форум: "Основная";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];
Внизshellexecute Найти похожие ветки
← →
ST (2003-04-11 00:19) [0]Запускаю с помощью shellexecute приложение, но программа не дожидается его завершения. Вопрос: как это сделать???
← →
Anatoly Podgoretsky (2003-04-11 00:23) [1]ну ч чего бы ей дожидаться, это равносильно щелчку в проводнике. Используй CreateProcess
← →
Бобко Сергей (2003-04-11 16:58) [2]Просто все очень просто:
procedure TForm1.Button1Click(Sender: TObject);
var si:Tstartupinfo;
p:Tprocessinformation;
begin
FillChar( Si, SizeOf( Si ) , 0 );
with Si do begin
cb := SizeOf( Si);
dwFlags := startf_UseShowWindow;
wShowWindow := 4;
end;
Createprocess(nil,"filename.exe",nil,nil,false,Create_default_error_mode,nil,nil,si,p);
Waitforsingleobject(p.hProcess,infinite);
ShowMessage("Вот и все!");
end;
← →
Юрий Федоров (2003-04-11 18:07) [3]Кстати вопрос на засыпку :
Не нужно ли вызвать
CloseHandle(P.hProcess);
после Createprocess
← →
oss (2003-04-11 18:07) [4]RunAndWait
← →
jack128 (2003-04-11 18:15) [5]Юрий Федоров © (11.04.03 18:07)
Нужно вызывать после WaitForSingleObject(...)
← →
Юрий Федоров (2003-04-11 18:58) [6]а CloseHandle(P.hThread); ???
← →
panov (2003-04-11 19:12) [7]Закрывать надо оба Handle.
А лучше в FAQ заглянуть.
Только обязательно надо выполнить:
CloseHandle(P.hThread);
CloseHandle(P.hProcess);
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c