![]() |
Anwendung nicht in Taskleiste anzeigen
Ein Hallo an die Programmierergilde,
ich benötige einen Rat von den erfahrenen Programmierern. Meine Anwendung soll nicht in der Taskleiste, sondern nur im SysTray sichtbar sein. Das klappt auch beim Start der Anwendung (mittels: ShowWindowAsync(hwndOwner, SW_HIDE). In der Anwenung werden aber noch weitere Forms geöffnet. Sobald das passiert, ist meine Anwendung wieder in der Taskleiste sichtbar, obwohl ich das Handle ShowWindowAsync im FormShow-Ereignis aller Forms eingebunden habe. Hat jemand eine Idee und begehe ich hier einen "Denkfehler"? :? Ich danke schonmal im Voraus. |
AW: Anwendung nicht in Taskleiste anzeigen
den erweiterten Fensterstil WS_EX_APPWINDOW entfernen dann sollte das gehen.
![]() gruss |
AW: Anwendung nicht in Taskleiste anzeigen
Danke für die Antwort. Ich schaue mal, ob es damit funktioniert.
|
AW: Anwendung nicht in Taskleiste anzeigen
Das muß/wird funktionieren, denn genau dafür ist diese Option nunmal da.
![]() |
AW: Anwendung nicht in Taskleiste anzeigen
Habe mal im Netz herumgesucht, aber bisher ziemlich erfolglos. Wie kann ich denn diesen Parameter setzen, oder besser in diesem Fall deaktivieren?
Ich habe den Parameter "WS_EX_APPWINDOW" in der customform.inc (TCustomForm CreateParams) gefunden. Auszug aus dem Quellcode
Code:
if (WndParent = 0) and
(((Self = Application.MainForm) and Application.MainFormOnTaskBar) or (GetEffectiveShowInTaskBar = stAlways)) then ExStyle := ExStyle or WS_EX_APPWINDOW; |
AW: Anwendung nicht in Taskleiste anzeigen
Boahh ehh...
Hole dir die aktuellen Style über GetWindowLong und setze dann die neuen mit SetWindowLong
Delphi-Quellcode:
gruss
procedure ShowInTaskbar(handle: HWND; Show: Bool)
var WStyle: integer; begin WStyle := GetWindowLong(handle, GWL_EXSTYLE) // Nicht in TaskLeiste anzeigen if not Show then WStyle := WStyle and not WS_EX_APPWINDOW else // Rückgängig machen WStyle := WStyle and WS_EX_APPWINDOW; SetWindowLong(handle, GWL_EXSTYLE, WStyle); end; |
AW: Anwendung nicht in Taskleiste anzeigen
Zitat:
TIPP: Rate mal, warum man CreateParams überschreiben kann (virtual). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 Uhr. |
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