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

Вниз

как изнать работает ли еще приложение вызванное exec()   Найти похожие ветки 

 
НАА   (2003-02-15 13:14) [0]

Надо дождаться завершения работы программы вызванной exec() и только после этого позволить пользователю продолжать давить клавиши.
Как сделать?


 
Романов Р.В. ©   (2003-02-15 14:02) [1]

function WinExecAndWait32(FileName:String; Visibility : integer):integer;
var
zAppName:array[0..512] of char;
zCurDir:array[0..255] of char;
WorkDir:String;
StartupInfo:TStartupInfo;
ProcessInfo:TProcessInformation;
begin

StrPCopy(zAppName,FileName);
GetDir(0,WorkDir);
StrPCopy(zCurDir,WorkDir);
FillChar(StartupInfo,Sizeof(StartupInfo),#0);
StartupInfo.cb := Sizeof(StartupInfo);


StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := Visibility;
if not CreateProcess(nil,
zAppName, { указатель командной строки }
nil, { указатель на процесс атрибутов безопасности }
nil, { указатель на поток атрибутов безопасности }
false, { флаг родительского обработчика }
CREATE_NEW_CONSOLE or { флаг создания }
NORMAL_PRIORITY_CLASS,
nil, { указатель на новую среду процесса }
nil, { указатель на имя текущей директории }
StartupInfo, { указатель на STARTUPINFO }
ProcessInfo) then Result := -1 { указатель на PROCESS_INF }


else begin
CloseHandle(ProcessInfo.hThread);
WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
GetExitCodeProcess(ProcessInfo.hProcess,DWord(Result));
CloseHandle(ProcessInfo.hProcess);
end;
end;


(c) AlexT1000

Значения параметра Visibility смотри в справке по ShowWindow


 
Anatoly Podgoretsky ©   (2003-02-15 15:05) [2]

НАА (15.02.03 13:14)
Это зависит от реализации функции Exec


 
НАА   (2003-02-17 10:13) [3]

Романов Р.В. © (15.02.03 14:02)
Спасибо, работает
Ещё бы система не запоминала клики по кнопкам, и не исполняла бы их после завершения внешней программы, то было бы совсем отлично :))



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-87559
Olly
2003-02-13 19:31
2003.02.27
Skin-компоненты и IDE Delphi


1-87371
kronprince
2003-02-17 11:45
2003.02.27
Ведение лог-файлов


1-87478
mace
2003-02-18 12:43
2003.02.27
service application (debugging, running :)


14-87710
Вадим
2003-02-12 06:33
2003.02.27
Буфер обмена


14-87628
Dudko Anton
2003-02-10 05:39
2003.02.27
Pascal