![]() |
ShellExecute als Modal
Hallo...
Weiß zufällig jemand, ob ich die Anwendung die ich mit shellexecute öffne modal setzen kann? bzw wie ich es machen kann, das meine Anwendung erst weiter arbeitet, wenn das mit shellexecute geöffnete Programm beendet wird? |
Re: ShellExecute als Modal
Hallo Florian,
suche mal hier nach ShellExecuteAndWaitA Grüße vom marabu |
Re: ShellExecute als Modal
Hier aus der
![]()
Delphi-Quellcode:
Allerdings solltest du dann alle Buttons und so vorher deaktivieren, da diese immer noch gedrückt werden können und die Anwendung eventuell ein zweites mal gestartet wird.
function ShellExecAndWait(const FileName: string; const Parameters: string;
const Verb: string; CmdShow: Integer): Boolean; var Sei: TShellExecuteInfo; Res: LongBool; Msg: tagMSG; begin FillChar(Sei, SizeOf(Sei), #0); Sei.cbSize := SizeOf(Sei); Sei.fMask := SEE_MASK_DOENVSUBST or SEE_MASK_FLAG_NO_UI or SEE_MASK_NOCLOSEPROCESS or SEE_MASK_FLAG_DDEWAIT; Sei.lpFile := PChar(FileName); Sei.lpParameters := PCharOrNil(Parameters); Sei.lpVerb := PCharOrNil(Verb); Sei.nShow := CmdShow; Result := ShellExecuteEx(@Sei); if Result then begin WaitForInputIdle(Sei.hProcess, INFINITE); while WaitForSingleObject(Sei.hProcess, 10) = WAIT_TIMEOUT do repeat Res := PeekMessage(Msg, Sei.Wnd, 0, 0, PM_REMOVE); if Res then begin TranslateMessage(Msg); DispatchMessage(Msg); end; until not Res; CloseHandle(Sei.hProcess); end; end; |
Re: ShellExecute als Modal
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 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