Главная страница
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.017 c
14-87682
Михаил
2003-02-09 22:27
2003.02.27
Сервисы в Win2k


6-87597
Help me
2002-12-23 18:41
2003.02.27
Unix разделители


14-87616
Ketmar
2003-02-09 23:02
2003.02.27
читать всем!


7-87723
@ngel
2002-12-28 19:57
2003.02.27
Как добавить кнопку в заголовок окна?


3-87315
Oleksiy
2003-02-10 10:16
2003.02.27
Значение поля после Post