![]() |
Wie kann ich prüfen ob die Taskbar gerade angezeigt wird?
Sowas wie
Code:
gibts wohl nicht? Oder?
if TaskBar.Visible then ...
|
Re: Wie kann ich prüfen ob die Taskbar gerade angezeigt wird
Ausserdem müsste es eh so heißen
Delphi-Quellcode:
Was hast du überhaupt vor???
if Taskbar.Visible = true {oder false} then...
|
Re: Wie kann ich prüfen ob die Taskbar gerade angezeigt wird
Zitat:
|
Re: Wie kann ich prüfen ob die Taskbar gerade angezeigt wird
Schreib es bitte nicht SO
Zitat:
außerdem ist der Programmierer faul ALSO Zitat:
Ganz nebenbei mittels SHAppBarMessage und dem Handle der SysTray (TaskBar) kann man das erfragen. |
Re: Wie kann ich prüfen ob die Taskbar gerade angezeigt wird
Zitat:
Delphi-Quellcode:
ist beides möglich.
var a : boolean;
if not a then ... //oder if a = false then ... Gruß. DANNYBOY |
Re: Wie kann ich prüfen ob die Taskbar gerade angezeigt wird
@neolithos
wie meinst du das? Kannst du bitte etwas präziser werden?
Code:
Wo im TAppBarData Objekt steht denn nun ob die sie gerade angezeigt wird oder nicht?
function IsTaskbarVisible: Boolean;
var tabd: TAppBarData; begin FillChar(tabd, SizeOf(TAppBarData), 0); tabd.cbSize := SizeOf(TAppBarData); if SHAppBarMessage(ABM_GETTASKBARPOS, Tabd) = 0 then Exit; Result := tabd. ????; end; Danke für eure Hilfe. |
Re: Wie kann ich prüfen ob die Taskbar gerade angezeigt wird
Erstmal in der MSDN steht die weißheit
Delphi-Quellcode:
abd.cbSize := SizeOf(app);
abd.rc := Rect(0, 0, 0, 0); abd.lParam := 0; abd.hWnd := FindWindow('Shell_TrayWnd', nil); // Handle auf Taskbar SHAppBarMessage(ABM_GETSTATE, abd); if (abd.lParam and ABS_AUTOHIDE) = 0 then begin // ist nicht AutoHide-Mode // Prüfung ob benutzer Sie klein gezogen hat is ja fast unsichtbar SHAppBarMessage(ABM_GETTASKBARPOS, abd); ... else // unsichtbar |
Re: Wie kann ich prüfen ob die Taskbar gerade angezeigt wird
Also bei mir funktioniert das irgendwie nicht, oder wir verstehen uns falsch ;-)
Ist das evtl. vom OS abhängig? Ich benutze WinNT4SP6 und Delphi 6. abd.lParam ist immer 0. Egal ob AutoHide eingeschaltet ist oder nicht. Aber ich will ja eigentlich auch gar nicht wissen ob AutoHide ein ist oder nicht. Ich will nur wissen ob die Taskbar sichtbar ist oder nicht. Also wenn AutoHide = False und AlwaysOnTop = True dann ist ja die Taskbar immer sichtbar. Aber bei AutoHide = False kann die Taskbar ja versteckt sein oder eben sichtbar. Je nachdem wo die Maus gerade ist. Wie finde ich das raus? |
Re: Wie kann ich prüfen ob die Taskbar gerade angezeigt wird
Reicht dir vielleicht das...
Delphi-Quellcode:
if IsWindowVisibleFindWindow('Shell_TrayWnd', nil)) then
Sichtbar else UnSichtBar |
Re: Wie kann ich prüfen ob die Taskbar gerade angezeigt wird
Das geht leider auch nicht :-(
IsWindowVisible ist immer True. Auch wenn die Taskbar gerade ausgeblendet ist. Läuft das bei dir? OS? Vielleicht noch andere Ideen? Danke für jeden Tipp. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:55 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