Blog. Just Blog

Как узнать состояние и размеры панели задач Windows

05.05.2021 | Категория: Образ мышления: Assembler | Автор: ManHunter
Для получения рабочей области экрана, доступной вашему приложению, может потребоваться определение положения и размера панели задач. Управлять положением и состоянием панели задач пользователь может через меню свойств или через апплет настроек. А для получения всех необходимых данных надо воспользоваться функцией SHAppBarMessage. Но сперва структура и несколько констант, которые будут нам нужны для работы.
  1. struct APPBARDATA
  2.     cbSize           dd ?
  3.     hwnd             dd ?
  4.     uCallbackMessage dd ?
  5.     uEdge            dd ?
  6.     rc               RECT
  7.     lParam           dd ?
  8. ends
  9.  
  10. ABM_GETSTATE = 4
  11. ABM_GETTASKBARPOS = 5
С помощью сообщения ABM_GETTASKBARPOS получаем положение и размеры панели задач:
  1.         mov     [abd.cbSize],sizeof.APPBARDATA
  2.         invoke  SHAppBarMessage,ABM_GETTASKBARPOS,abd
  3.         ; [abd.uEdge] -> положение панели задач
  4.         ; 0 = слева
  5.         ; 1 = сверху
  6.         ; 2 = справа
  7.         ; 3 = снизу
  8.         ; [abd.rc] -> координаты Панели задач
Но тут надо понимать, что на экране могут присутствовать другие панели, которые также отнимают полезную площадь экрана. Для точного определения доступной области пользуйтесь функцией GetMonitorInfo.

Читать статью целиком »
Просмотров: 131 | Комментариев: 0

Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2021
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.11 сек. / MySQL: 1 (0.0191 сек.) / Память: 4.75 Mb
Наверх