Hallo,
mit folgendem Code öffne ich erfolgreich ein fremdes Programm "modal":
Delphi-Quellcode:
FillChar(info, sizeof(info), 0);
info.cbSize := sizeOf(info);
info.lpVerb := 'open';
info.lpFile := PChar(CmdLine);
info.lpParameters := PChar(parameters);
info.nShow := SW_SHOW;
info.fMask := SEE_MASK_NOCLOSEPROCESS;
ShellExecuteEx(@info);
WaitForSingleObject(info.hProcess, Infinite);
Leider friert mir dabei mein Hauptformular ein, bzw. benötigt ein Refresh, wenn das fremde Programm im Fenster darüber gezogen wird (siehe Screenshot).
Wie kann ich das Formular neu zeichnen lassen oder dieses Verhalten umgehen? Ich habe auch schon vor dem ShellExecuteEx das Hauptformular ausgeblendet, aber das könnte den Anwender verwirren.
Danke und Grüße