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

Вниз

Просто? Как приостановить прогу до выполнения другой?   Найти похожие ветки 

 
zebra21   (2002-10-22 23:17) [0]

Подскажите, как приостановить выполнение проги до окончания другой, вызванной ей самой? Спасибо.


 
Ученик ©   (2002-10-22 23:20) [1]

{ Project JEDI Code Library (JCL) }

function WinExec32(const Cmd: string; const CmdShow: Integer): Boolean;
var
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
begin
FillChar(StartupInfo, SizeOf(TStartupInfo), #0);
StartupInfo.cb := SizeOf(TStartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := CmdShow;
Result := CreateProcess(nil, PChar(Cmd), nil, nil, False,
NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo);
if Result then
begin
WaitForInputIdle(ProcessInfo.hProcess, INFINITE);
CloseHandle(ProcessInfo.hThread);
CloseHandle(ProcessInfo.hProcess);
end;
end;



 
apay ©   (2002-10-23 00:54) [2]

ваащето лучше юзать WaitForSingleObject


 
Ученик ©   (2002-10-23 01:29) [3]

Сорри, не то скопировал

function WinExec32AndWait(const Cmd: string; const CmdShow: Integer): Cardinal;
var
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
begin
Result := Cardinal($FFFFFFFF);
FillChar(StartupInfo, SizeOf(TStartupInfo), #0);
StartupInfo.cb := SizeOf(TStartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := CmdShow;
if CreateProcess(nil, PChar(Cmd), nil, nil, False, NORMAL_PRIORITY_CLASS,
nil, nil, StartupInfo, ProcessInfo) then
begin
WaitForInputIdle(ProcessInfo.hProcess, INFINITE);
if WaitForSingleObject(ProcessInfo.hProcess, INFINITE) = WAIT_OBJECT_0 then
begin
if not GetExitCodeProcess(ProcessInfo.hProcess, Result) then
Result := Cardinal($FFFFFFFF);
end;
CloseHandle(ProcessInfo.hThread);
CloseHandle(ProcessInfo.hProcess);
end;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.018 c
3-4180
Semu
2002-11-13 12:08
2002.12.02
DBGrid - (MEMO)- ORACLE продолжение


8-4515
DenKop
2002-08-15 15:43
2002.12.02
Как узнать длительность трека AudioCD.


3-4259
delph
2002-11-09 14:08
2002.12.02
Win2000 Terminal Server - ошибка инициализации BDE


3-4263
skirdov
2002-11-12 14:47
2002.12.02
Выборка данных с SQL Server


6-4539
MasterVovan
2002-10-06 11:03
2002.12.02
Как создать простой html редактор???