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

Вниз

Момент окончания внешней программы   Найти похожие ветки 

 
Maximilian   (2003-06-06 23:25) [0]

Люди, запускаю внешнюю EXE-программу через ShellExecute. Необходимо отследить момент окончания ее работы (не потерю ею фокуса, а именно окончания). Слышал, что это возможно, но не знаю, как. Помогите, кто знает !


 
Suntechnic ©   (2003-06-07 00:41) [1]

Запускай через CreateProcess и далее WaitForSingleObject


 
Ученик ©   (2003-06-07 08:32) [2]

{ Project JEDI Code Library }

function ShellExecAndWait(const FileName: string; const Parameters: string;
const Verb: string; CmdShow: Integer): Boolean;
var
Sei: TShellExecuteInfo;
Res: LongBool;
Msg: tagMSG;

begin
FillChar(Sei, SizeOf(Sei), #0);
Sei.cbSize := SizeOf(Sei);
Sei.fMask := SEE_MASK_DOENVSUBST or SEE_MASK_FLAG_NO_UI or SEE_MASK_NOCLOSEPROCESS or
SEE_MASK_FLAG_DDEWAIT;
Sei.lpFile := PChar(FileName);
Sei.lpParameters := PCharOrNil(Parameters);
Sei.lpVerb := PCharOrNil(Verb);
Sei.nShow := CmdShow;
Result := ShellExecuteEx(@Sei);
if Result then
begin
WaitForInputIdle(Sei.hProcess, INFINITE);
while (WaitForSingleObject(Sei.hProcess, 10) = WAIT_TIMEOUT) do
begin
repeat
Res := PeekMessage(Msg, Sei.Wnd, 0, 0, PM_REMOVE);
if Res then
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
until (Res = False);
end;
CloseHandle(Sei.hProcess);
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2003.08.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
1-20601
starik30
2003-07-24 13:20
2003.08.07
Создание компонента


6-20647
viksoft
2003-05-14 10:25
2003.08.07
Передача файла по UDP - чего то не допонимаю


14-20799
gsvserg
2003-07-22 13:36
2003.08.07
TexcelApplication


14-20722
SF
2003-07-23 17:36
2003.08.07
Технология Web Broker и Web-сервер


1-20582
Aleksandr
2003-07-24 11:46
2003.08.07
Как узнать, что PopupMenu в данный момент это... попнутая?