Функция GetWindowRect (winuser.h)
Извлекает размеры ограничивающего прямоугольника указанного окна. Измерения задаются в координатах экрана, которые находятся относительно левого верхнего угла экрана.
BOOL GetWindowRect(
[in] HWND hWnd,
[out] LPRECT lpRect
);
[in] hWnd
Тип: HWND
Дескриптор окна.
[out] lpRect
Тип: LPRECT
Указатель на структуру RECT , которая получает экранные координаты верхнего левого и нижнего правого углов окна.
Тип: BOOL
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
В соответствии с соглашениями для структуры RECT правые нижние координаты возвращаемого прямоугольника являются эксклюзивными. Другими словами, пиксель (справа, внизу) находится непосредственно за прямоугольником.
GetWindowRect виртуализирован для DPI.
В Windows Vista и более поздних версиях прямоугольник окна теперь включает область, занятую тенью.
Вызов Метода GetWindowRect будет иметь разное поведение в зависимости от того, отображалось ли окно. Если окно не отображалось ранее, GetWindowRect не будет включать область тени.
Чтобы получить границы окна, за исключением тени, используйте DwmGetWindowAttribute, указав DWMWA_EXTENDED_FRAME_BOUNDS. Обратите внимание, что в отличие от окна Rect, границы расширенных кадров DWM не корректируются для DPI. Получить расширенные границы кадров можно только после того, как окно будет показано хотя бы один раз.
Пример см. в разделе Инициализация диалогового окна.
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
Набор API | ext-ms-win-ntuser-window-l1-1-0 (представлено в Windows 8) |
Основные понятия
Справочные материалы