Einzelnen Beitrag anzeigen

Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#3

Re: SetForegroundWindow vs. CoolTrayIcon.ShowMainForm

  Alt 27. Apr 2008, 17:09
Falls das hier jmd. interessiert, die Lösung:
Delphi-Quellcode:
   repeat
      appH := FindWindow(PChar('TMform'), nil);
   until appH <> Application.Handle;

    if appH <> 0 then
    begin
       ParentH := GetWindowLong(appH, GWL_HWNDPARENT);
       Windows.ShowWindow(appH, SW_Normal);
       postmessage(ParentH,WM_SYSCOMMAND,SC_RESTORE,0);
       Windows.SetForegroundWindow(appH);
    end;
Im OnRestore Ereignis der Anwendung (ApplicationEvents benutzen!) kann man dann festlegen, dass das TrayIcon verschwindet.
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  Mit Zitat antworten Zitat