Лучший отвечающий
[WinAPI] Определить состояние окна до минимизации

Вопрос
-
Добрый день.
Подскажите, пожалуйста, как в WinAPI определить состояние окна до минимизации? Было ли он максимизировано или нет, какие координаты для восстановления?
С уважением,
Антон
- Изменено Anton Plotnikov 2 ноября 2018 г. 6:33
2 ноября 2018 г. 6:29
Ответы
-
Вам поможет функция GetWindowPlacement. Поле rcNormalPosition заполняемой ею структуры WINDOWPLACEMENT содержит позицию и размеры окна при его восстановлении после минимизации. А флаги в той же структуре покажут, было ли окно максимизировано, или нет.
Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!
- Изменено kosuke904 4 ноября 2018 г. 10:56 дополнение
- Предложено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 5 ноября 2018 г. 12:28
- Помечено в качестве ответа Anton Plotnikov 7 ноября 2018 г. 14:02
4 ноября 2018 г. 10:48
Все ответы
-
Здравствуйте,
Возможно данный метод подойдет:
Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
2 ноября 2018 г. 10:23Модератор -
Всё же нет. Когда пользователель восстанавливает свёрнутое окно щелчком в панели задач, то оно восстановится либо как максимизированное, либо как обычное, в зависимости от предыдущего состояния. Вот мой вопрос и состоит, как определить это предыдущее состояние через API, ведь система это как-то "умеет"?
- Изменено Anton Plotnikov 2 ноября 2018 г. 14:14
2 ноября 2018 г. 13:50 -
Вам поможет функция GetWindowPlacement. Поле rcNormalPosition заполняемой ею структуры WINDOWPLACEMENT содержит позицию и размеры окна при его восстановлении после минимизации. А флаги в той же структуре покажут, было ли окно максимизировано, или нет.
Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!
- Изменено kosuke904 4 ноября 2018 г. 10:56 дополнение
- Предложено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 5 ноября 2018 г. 12:28
- Помечено в качестве ответа Anton Plotnikov 7 ноября 2018 г. 14:02
4 ноября 2018 г. 10:48 -
Спасибо, то что нужно. Пропустил флаг WPF_RESTORETOMAXIMIZED в параметре flags структуры WINDOWPLACEMENT7 ноября 2018 г. 14:04