Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fenster aus Taskbar entfernen (https://www.delphipraxis.net/132246-fenster-aus-taskbar-entfernen.html)

moelski 8. Apr 2009 14:35


Fenster aus Taskbar entfernen
 
Moin !

Ich habe da in einer Anwendung zwei Formulare. Die Anwendung wird so eingerichtet:
Delphi-Quellcode:
  Application.Initialize;
  Application.ShowMainForm     := False;
  Application.MainFormOnTaskBar := False;
Das geht auch gut. Das "Hauptformular" ist nicht sichtbar - denn wir haben da nur einen TrayIcon Eintrag.

So nun kann man aus dem Traypopup ein anderes Formular aufrufen:
Delphi-Quellcode:
XYZForm.Show;
Geht auch ohne Probleme. Das Fenster hat den Borderstyle bsNone. Auch das geht wunderbar.

Sobald man allerdings das Fenster darstellt wird in der Taskbar ein Eintrag angezeigt. Dort sieht man das Icon der Anwendung und dan Anwendungsnamen. So die Frage wäre nun wie ich diesen Eintrag in der Taskbar verhindern kann.
Sprich das Fenster ist sichtbar, aber in der Taskbar ist nach wie vor kein Eintrag zu sehen.

mr_emre_d 8. Apr 2009 14:55

Re: Fenster aus Taskbar entfernen
 
Links oben (unter Delphi-Praxis Bild) auf Suchen (Bild mit Lupe) klicken;
Taskbar eintragen und auf "suchen" (bzw suche starten oder sonstwas) klicken;
ein bisschen warten;
nun alle threadtitel durchschauen-
wenn etwas interessantes dabei ist dann draufklicken und thread durchlesen :)

Suche -> Ergebnis #10 -> ThreadSeite2:
http://delphipraxis.net/topic154157,...c64da0aee4fa8e

moelski 8. Apr 2009 15:04

Re: Fenster aus Taskbar entfernen
 
Moin !

@mr_emre_d:
Ich weiss wie man die Suche bedient. Nur habe ich eben zu meinem Thema nix gefunden.

Es geht mir ja nicht darum wie ich generell meine Anwendung aus der Taskbar entferne. Das funzt ja schon.
Es klappt nur eben nicht wenn ich ein weiteres Formular anzeige.

Auch die Tips aus deinem Link funktionieren da leider nicht.

mr_emre_d 8. Apr 2009 15:15

Re: Fenster aus Taskbar entfernen
 
Achso ?
Ich schau mal nach...

mr_emre_d 8. Apr 2009 15:39

Re: Fenster aus Taskbar entfernen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich habe nun zwei Formulare erstellt, auf den ersten ne TrayIcon geklatscht und die vorhin in der Suche gepostetten Funktion ausgeführt (Programmstart). Ich habe bei Onclick in TrayIcon einfach Form2 Show / Bringtofront gemacht - und der Eintrag ist nicht im/auf dem Taskbar.

Projekt im Anhang

MfG

shmia 8. Apr 2009 16:55

Re: Fenster aus Taskbar entfernen
 
Mit folgender Prozedure kannst du den Eintrag in der Taskleiste verschwinden lassen:
Delphi-Quellcode:
procedure HideAppFromTaskbar(Hide:Boolean);
type
  TStatus = array[False..True] of Integer;
const
  status : TStatus = (SW_RESTORE, SW_HIDE);
begin
   ShowWindow(Application.Handle, status[Hide]);
end;

lbccaleb 8. Apr 2009 16:56

Re: Fenster aus Taskbar entfernen
 
Meinst du sowas hier??

Fenster Eintrag entfernen

moelski 9. Apr 2009 05:01

Re: Fenster aus Taskbar entfernen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin !

So ich habe mal die Anwendung von mr_emre_d dhingehend erweitert das es meiner entspricht (was die Fenster angeht).
Und wie man sieht ... Es ist genau so wie es bei mir eben auch ist.

Die Hauptanwendung ist nicht in der Taskbar - nur ein TrayIcon. Alles Ok bis hier.
Dann klick auf das Try Icon und es kommt ein Fenster OHNE RAHMEN (Borderstyle = bsNone).
Und schwubs hat man einen Eintrag in der Taskbar.

So und falls jemand fragt wozu das ganze ...
Die Hauptanwendung ist mehr oder minder nur das TrayIcon von wo man ein paar Dinge starten kann. Dazu brauchen wir kein Formular. Und das zweite Formular dient dazu, das der Kunde eine bestehende VNC Sitzung zu jeder Zeit beenden kann. Und da brauchen wir eben nur ein kleines Borderloses Formular mit einem Button druff.

lbccaleb 9. Apr 2009 06:46

Re: Fenster aus Taskbar entfernen
 
Wende das HideFromTaskbar auch auf das handle von Form2 an!

moelski 9. Apr 2009 06:51

Re: Fenster aus Taskbar entfernen
 
Moin !

Delphi-Quellcode:
procedure TForm1.TrayIcon1Click(Sender: TObject);
begin
  form2.Show;
  form2.BringToFront;
  HideFromToolbar( form2.Handle );
end;
Das führt bei mir dazu, dass ich einen TaskBar Eintrag habe aber das Fenster nicht mehr sehe ....


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 Uhr.
Seite 1 von 2  1 2      

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