Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.21;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
14-67523
vuk
2003-04-04 12:16
2003.04.21
С праздником!


3-67124
Akhmadey
2003-04-01 20:45
2003.04.21
Можно ли в идентификаторе использовать переменную


14-67527
Alexander_K
2003-04-02 17:27
2003.04.21
Клиент...


1-67288
Zheka
2003-04-10 16:59
2003.04.21
StringGrid и способы сохранения таблиц


4-67640
Aleksey Girshovskiy
2003-02-19 12:43
2003.04.21
Как получить на что открыт файл (read write...) через сеть?