![]() |
Warten, bis Setup fertig ist und dann weiter machen...
Hallo Leute!
Wie bekomme ich raus, ob ein Setup, welches ich mit ShellExecute() starte, fertig ist, damit ich in meiner internen Rundownliste fortfahren kann!?? Ich habe mir die Hilfe zur ShellExecute mal durchgelesen und soweit ich es verstand, wird diese procedure nur Fehlermeldungen bei einem Fail auf. Gibt es nun doch eine Möglichkeit herauszubekommen, dass das Setup fertig ist, bzw. die ShellExecute-Routine "beendet ist"!??? |
Re: Warten, bis Setup fertig ist und dann weiter machen...
Delphi-Quellcode:
uses
ShellApi; procedure ShellExecute_AndWait(FileName: string; Params: string); 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_SHOWNORMAL; end; if ShellExecuteEx(@exInfo) then Ph := exInfo.HProcess else begin ShowMessage(SysErrorMessage(GetLastError)); Exit; end; while WaitForSingleObject(ExInfo.hProcess, 50) <> WAIT_OBJECT_0 do Application.ProcessMessages; CloseHandle(Ph); end; |
Re: Warten, bis Setup fertig ist und dann weiter machen...
Hallo!
Ist zwar ohne Beschreibung, aber ich melde mich einfach, wenn ich es nicht hinbekomme. |
Re: Warten, bis Setup fertig ist und dann weiter machen...
Wozu brauchst´n ´ne Beschreibung? "FileName" ist der Name des zu startenden Programms, "Params" sind die evtl. notwendigen Parameter.
|
Re: Warten, bis Setup fertig ist und dann weiter machen...
Hi Mathias!
Also ich habe natürlich gewusst, was FileName ist, war mir aber unsicher, welche params man als String übergeben kann. Ich habe nun erstmal einen Leerstring übergeben und es funktioniert einwandfrei! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz