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

Я использую Qt, я хочу отображать пользовательское всплывающее окно поверх значка на панели задач в Windows. Я могу получить координаты значка, используя геометрию()и высоту панели задач, найдя разницу между screenGeometry()и availableGeometry(). Таким образом, всплывающее окно может быть правильно выровнено и не перекрывает панель задач для разных ориентаций панели задач (, например. когда панель задач находится слева или вверху экрана).

Проблема начинается, когда включено автоматическое скрытие панели задач, тогда, очевидно, availableGeometry возвращает то же значение, что и screenGeometry, и я больше не могу найти высоту панели задач. Это приводит к тому, что всплывающее окно перекрывается панелью задач или даже отображается в неправильном месте.

Мой вопрос::как правильно определить ориентацию и размер панели задач в Windows, когда включено автоматическое скрытие? Должен ли я использовать некоторые функции winapi, или я могу сделать это исключительно в Qt (предпочтительнее)?

5
задан tomak 6 April 2012 в 10:09
поделиться