function ShellExecute_AndWait(const FileName: string; const Params: string): bool; var exInfo: TShellExecuteInfo; Ph: DWORD; begin FillChar(exInfo, SizeOf(exInfo), 0); with exInfo do begin cbSize := SizeOf(exInfo); fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_FLAG_DDEWAIT; Wnd := GetActiveWindow(); exInfo.lpVerb := 'open'; exInfo.lpParameters := PChar(Params); lpFile := PChar(FileName); nShow := SW_HIDE; end; if ShellExecuteEx(@exInfo) then Ph := exInfo.hProcess else begin ShowMessage(SysErrorMessage(GetLastError)); Result := true; exit; end; while WaitForSingleObject(exInfo.hProcess, 50) <> WAIT_OBJECT_0 do Application.ProcessMessages; CloseHandle(Ph); Result := true; end;
ON THIS BLOG, DELPHI PROGRAMMERS CAN FIND FREE USEFUL FUNCTIONS AND PROCEDURES
Delphi function for wait until an external process has completed
Categories:
Miscellaneous,
System Control
Subscribe to:
Posts (Atom)