Einzelnen Beitrag anzeigen

ernschd

Registriert seit: 16. Jan 2008
165 Beiträge
 
Delphi XE8 Professional
 
#1

Fremde Anwendung modal starten, Neuzeichnen des eigenen Formulars

  Alt 15. Dez 2015, 08:55
Delphi-Version: 2007
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
Miniaturansicht angehängter Grafiken
shellex.jpg  
  Mit Zitat antworten Zitat