Как определить, включено ли “автоматическое скрытие” панели задач Windows?
-
13-09-2019 - |
Вопрос
Как я могу определить с помощью программы Delphi, настроена ли панель задач проводника Windows на автоматическое скрытие?
Решение
В Windows XP и выше вы можете вызвать SHAppBarMessage
API с ABM_GETSTATE
Сообщение.
Синтаксис:
SHAppBarMessage(ABM_SETSTATE, pabd);
pabd
является указателем на APPBARDATA
структура.
заголовочный файл - это:шеллапи.ч.
Если вы хотите получить состояние панели задач, используйте ABM_GETSTATE
Сообщение.вы можете вызвать этот API в delphi.
Другие советы
Что это - это ты действительно хотите это выяснить?Это потому, что вы хотите знать область экрана, которая пригодна для использования?
Если это так, то я полагаю, вы можете использовать экран.WorkAreaRect для определения доступной области экрана, где расположены все (постоянные) панели инструментов и т.д.исключаются.
Используйте API-интерфейсы оболочки Win32 (IsTBAutohide и другие)
Недокументированные API-интерфейсы можно найти в Google Groups.
Никогда не читайте реестр (пожалуйста, перестаньте удалять правильные ответы, это глупо ...)
Вам приходится иметь дело с реестром Windows, потому что эта информация хранится там.Значение, указывающее на "автоматическое скрытие", записывается (читается) только при входе пользователя в систему под своей учетной записью
Раздел реестра, ответственный за хранение этой информации, находится в HKEY_CURRENT_USER\Программное обеспечение\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2 Единственное, что там есть, это Настройки и это 9-е шестнадцатеричное значение для "автоматического скрытия" это значение равно 03 для "автоматического отключения" это 02