Как узнать, включено ли «автоматическое скрытие» панели задач Windows? - PullRequest
1 голос
/ 13 июня 2009

Как узнать через программу Delphi, установлена ​​ли панель задач Windows Explorer в режим автоматического скрытия?

Ответы [ 4 ]

13 голосов
/ 13 июня 2009

В Windows XP и выше вы можете вызвать SHAppBarMessage API с сообщением ABM_GETSTATE.

Синтаксис:

SHAppBarMessage(ABM_SETSTATE, pabd);

pabd - указатель на APPBARDATA struct.
заголовочный файл: shellapi.h.

Если вы хотите узнать состояние панели задач, используйте сообщение ABM_GETSTATE. Вы можете называть это API в Delphi.

11 голосов
/ 13 июня 2009

Что это такое, что вы действительно хотите узнать? Это потому, что вы хотите знать область экрана, которую можно использовать?

Если это так, то я считаю, что вы можете использовать Screen.WorkAreaRect для определения доступной области экрана, где исключены все (постоянные) панели инструментов и т. Д.

1 голос
/ 15 июня 2009

Использовать оболочку Win32 apis (IsTBAutohide и другие)
См. Google Groups для недокументированных apis.
Никогда не читайте реестр (и перестаньте удалять правильные ответы, это глупо ...)

0 голосов
/ 13 июня 2009

Вам приходится иметь дело с реестром Windows, потому что эта информация хранится там. Значение, обозначающее «autoohide», записывается (только для чтения), когда пользователь входит в систему / выходит из системы со своей учетной записью

Ключ реестра, ответственный за хранение этой информации, находится в HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ StuckRects2 Единственное, что там есть, это settings , и это 9-е шестнадцатеричное значение для «autohide on» это значение равно 03 , для «autohide off» оно равно 02

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...