Wie kann man sagen, wenn Windows-Taskleiste des „autohide“ aktiviert ist?
-
13-09-2019 - |
Frage
Wie kann ich über ein Delphi-Programm sagen, ob die Windows-Explorer-Taskleiste eingestellt ist AutoHide?
Lösung
Unter Windows XP und höher, können Sie rufen Sie SHAppBarMessage
API mit ABM_GETSTATE
Nachricht.
Syntax:
SHAppBarMessage(ABM_SETSTATE, pabd);
pabd
ist ein Zeiger auf APPBARDATA
struct.
Header-Datei ist: shellapi.h.
Wenn Sie Zustand der Task-Leiste erhalten möchten, verwenden ABM_GETSTATE
Nachricht.
Sie können diese api in delphi nennen.
Andere Tipps
Was ist, dass Sie wirklich herausfinden wollen? Ist es, weil Sie den Bereich des Bildschirms wissen möchten, die nutzbar ist?
Wenn ja, dann glaube ich Ihnen die Screen.WorkAreaRect können den verfügbaren Bildschirmbereich, um zu bestimmen, wo alle (permanent) Werkzeugleisten usw. ausgeschlossen werden.
Verwenden Sie Win32-Shell apis (IsTBAutohide und andere)
Siehe Google Groups für undokumentierte APIs.
Nie Registrierung gelesen (am richtigen Antwort aufhören zu entfernen, es ist dumm ...)
U haben mit Windows-Registry beschäftigen, da diese Informationen in dort keept wird. Wert, der angibt „autoohide“ geschrieben wird (lesen) nur während der Benutzeranmeldung / Abmeldung ont mit seinem Konto
Registrierungsschlüssel für diese Information zu speichern ist in HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Currentversion \ Explorer \ StuckRects2 Das einzige, was da drin ist Einstellungen und es ist ein neuntes Hexwert für "autohide auf" dieser Wert 03 für "autohide off" es ist 02