Как узнать, был ли изменен размер окна с помощью функции Aero Snap ? Функция GetWindowPlacement
выдает последний «восстановленный» размер окна. Я использую его следующим образом:
WINDOWPLACEMENT wp = {};
wp.length = sizeof(WINDOWPLACEMENT);
::GetWindowPlacement( hWnd, &wp );
Например, он дает wp.rcNormalPosition = {top = 208 bottom = 520 left = 152 right = 510}
, когда должно быть
{top = 0 bottom = 1920 left = 152 right = 510}
.
Обратите внимание, что Это была моя ошибка, GetWindowRect
дает точно такой же неверный результат. GetWindowRect
дает правильный результат.
Мне нужно сохранить состояние окна при выходе из программы и загрузить его при запуске, поэтому мне нужно знать, как расположены окна. Как я могу узнать фактические координаты окна?
Ну, я провел несколько тестов с notepad.exe
(и некоторыми другими стандартными компонентами Windows), и он сохраняет свое состояние таким же образом - он не запомните, было ли это «снято». Так что я предполагаю, что это предполагаемое поведение программ Windows.