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

Вниз

закрытие   Найти похожие ветки 

 
vova_vova   (2006-03-24 13:11) [0]

День добрый. Подскажите пожалуйста, как отследить закрытие программы, открытой из моего приложения функцией winexec. Спасибо


 
Рамиль ©   (2006-03-24 13:25) [1]

Winexec не получится. Используй CreateProcess.


 
Рамиль ©   (2006-03-24 13:29) [2]

var
 Rlst: LongBool;
 StartUpInfo: TStartUpInfo;
 ProcessInfo: TProcessInformation;
 Error: integer;
 ExitCode: Cardinal;
begin
 FillChar(StartUpInfo, SizeOf(TStartUpInfo), 0);
 with StartUpInfo do
 begin
   cb := SizeOf(TStartUpInfo);
   dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
   wShowWindow := SW_SHOWNORMAL;
 end;
 Rlst := CreateProcess("C:\Windows\System32\notepad.exe", " c:\readme.txt", nil, nil, false, NORMAL_PRIORITY_CLASS, nil, nil, StartUpInfo, ProcessInfo);
 if Rlst then
 with ProcessInfo do begin
   WaitForInputIdle(hProcess, INFINITE); // ждем завершения инициализации
   WaitforSingleObject(ProcessInfo.hProcess, INFINITE); // ждем завершения процесса
   GetExitCodeProcess(ProcessInfo.hProcess, ExitCode); // получаем код завершения
   CloseHandle(hThread); // закрываем дескриптор процесса
   CloseHandle(hProcess); // закрываем дескриптор потока
 end
else Error := GetLastError;
end;


 
vova_vova   (2006-03-24 14:18) [3]

Спасибо, попробую...



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

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

Наверх




Память: 0.47 MB
Время: 0.049 c
6-1134687059
Indy
2005-12-16 01:50
2006.04.09
[INDY] Как использовать TIdIOHandlerStream совместно с TIdNNTP?


2-1143205376
san_pancho
2006-03-24 16:02
2006.04.09
Кодировка


3-1139765388
Evgenij_
2006-02-12 20:29
2006.04.09
Обновление даных в DBGrid e


2-1143016735
tyo
2006-03-22 11:38
2006.04.09
Остановить асинхронную ADOCommand


2-1143273355
Vitalik__
2006-03-25 10:55
2006.04.09
Если экран с крупным шрифтом - на форме всё налазит друг на друга