Come sapere se “Nascondi automaticamente” della barra delle applicazioni di Windows è attivato?
-
13-09-2019 - |
Domanda
Come faccio a sapere tramite un programma di Delphi se l'Explorer di Windows barra delle applicazioni è impostata su autohide?
Soluzione
In Windows XP e versioni successive, è possibile chiamare SHAppBarMessage
API con il messaggio ABM_GETSTATE
.
La sintassi:
SHAppBarMessage(ABM_SETSTATE, pabd);
pabd
è un puntatore ad APPBARDATA
struct.
file di intestazione è: shellapi.h.
Se si desidera ottenere lo stato di barra delle applicazioni, utilizzare il messaggio ABM_GETSTATE
.
è possibile chiamare questa API in Delphi.
Altri suggerimenti
Ciò che è è che davvero voglia di scoprire? E 'perché si vuole conoscere l'area dello schermo che è utilizzabile?
Se è così, allora io credo che si possa utilizzare lo Screen.WorkAreaRect per determinare l'area disponibile sullo schermo, in cui sono esclusi tutti i bar (permanente) di utensili, ecc.
Usa Win32 API di shell (IsTBAutohide e altri)
Vedere Google Gruppi per le API non documentate.
Mai leggere registro (ANS fermare la rimozione di risposte giuste, è stupido ...)
U hanno a che fare con registro di Windows perché tali informazioni sono keept in là. Valore che indica "autoohide" è scritto (lettura) solo mentre l'accesso utente / logout ont con il suo account
chiave del Registro di sistema responsabile per la memorizzazione questa informazione si trova in HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ StuckRects2 L'unica cosa v'è Impostazioni ed è un valore esadecimale 9 ° per "autohide su" questo valore è 03 per "autohide off" è 02