Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
3-87281
Eugene_
2003-02-08 21:21
2003.02.27
Работа со связанными таблицами Paradox


3-87260
vanek8
2003-02-11 08:55
2003.02.27
По базам данных


9-87234
Гуляющий просто так
2002-09-20 14:30
2003.02.27
DirectX


1-87523
Alexsey Orlov
2003-02-17 06:07
2003.02.27
Помогите как сделать подсветку синтаксиса ........


1-87568
Yorick
2003-02-14 16:03
2003.02.27
exe-фаилы




   Наверх