Einzelnen Beitrag anzeigen

ernschd

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

Zweites Programm aus Tray hervorholen und steuern

  Alt 30. Jun 2016, 11:19
Hallo,

ich habe eine Hauptanwendung (Haupt), die kurz nach dem Starten eine zweite Anwendung (Neben) startet. Diese wird nur als Tray-Icon angezeigt, wenn sie per Parameter aufgerufen wird, damit der Anwender nicht verwirrt ist. Erst beim Klick auf einen Button in "Haupt" soll sie angezeigt und Edit-Felder per SendMessage (vor-) ausgefüllt werden.
Beide Anwendungen sind Eigenentwicklungen (Delphi 2007 und XE7).

Leider funktioniert es nicht wie gewünscht: zum einen funktioniert das Minimieren nicht. Und die Anwendung "Neben" wird zwar angezeigt, allerdings ohne das darin enthaltene Panel sowie dessen Unter-Controls. Wenn ich Neben einmal per Doppelklick aus dem Tray hervorhole sind alle Controls vorhanden. Danach werden sie auch immer wieder angezeigt.

Im Create-Teil wird sie mit Application.ShowMainForm := False; unsichtbar gesetzt.
Beim minimieren rufe ich if Message.CmdType and $FFF0 = SC_MINIMIZE then Hide; auf. Alleine funktioniert dies auch problemlos.

Hier ist mein Code in Haupt zum Anzeigen von Neben:
Delphi-Quellcode:
 // entweder
SendMessage(wndMyHandle, WM_SYSCOMMAND, SC_RESTORE, 0);
// oder
ShowWindow(wndMyHandle, SW_NORMAL);
In beiden Fällen das gleiche fehlerhafte Ergebnis.

Mit den einzelnen Code-Teilen kann ich andere Anwendungen wie TotalCommander oder Notepad problemlos anzeigen und minimieren.
Was muss ich anders machen?
  Mit Zitat antworten Zitat