Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Запрашивает количество точек на дюйм (точек на дюйм) дисплея.
Синтаксис
HRESULT GetDpiForMonitor(
[in] HMONITOR hmonitor,
[in] MONITOR_DPI_TYPE dpiType,
[out] UINT *dpiX,
[out] UINT *dpiY
);
Параметры
[in] hmonitor
Дескриптор запрашиваемого монитора.
[in] dpiType
Тип запрашиваемого DPI. Возможные значения из перечисления MONITOR_DPI_TYPE .
[out] dpiX
Значение DPI вдоль оси X. Это значение всегда относится к горизонтальному краю, даже если экран поворачивается.
[out] dpiY
Значение DPI вдоль оси Y. Это значение всегда относится к вертикальному краю, даже если экран поворачивается.
Возвращаемое значение
Эта функция возвращает одно из следующих значений.
| Код возврата | Описание |
|---|---|
|
Функция успешно возвращает значения X и Y DPI для указанного монитора. |
|
Переданные дескриптор, тип DPI или указатели являются недопустимыми. |
Комментарии
Этот API не учитывает DPI и не должен использоваться, если вызывающий поток учитывает DPI для каждого монитора. Версию этого API с поддержкой DPI см. в разделе GetDpiForWindow.
При вызове Метода GetDpiForMonitor вы получите различные значения DPI в зависимости от уровня доступности вызывающего приложения. Осведомленность о DPI — это свойство уровня приложения, которое обычно определяется в манифесте приложения. Дополнительные сведения о значениях осведомленности о DPI см. в разделе PROCESS_DPI_AWARENESS. В следующей таблице показано, как будут отличаться результаты в зависимости от PROCESS_DPI_AWARENESS значения приложения.
| PROCESS_DPI_UNAWARE | 96, так как приложение не знает о других коэффициентах масштабирования. |
| PROCESS_SYSTEM_DPI_AWARE | Значение , заданное для системного DPI, так как приложение предполагает, что все приложения используют системный DPI. |
| PROCESS_PER_MONITOR_DPI_AWARE | Фактическое значение DPI, заданное пользователем для этого дисплея. |
Значения *dpiX и *dpiY идентичны. Необходимо записать только одно из значений, чтобы определить DPI и ответить соответствующим образом.
Если MONITOR_DPI_TYPEMDT_ANGULAR_DPI или MDT_RAW_DPI, возвращаемое значение DPI не включает изменения, внесенные пользователем в DPI с помощью ползунка переопределения масштабирования рабочего стола в панель управления.
Дополнительные сведения о параметрах DPI в панель управления см. в техническом документе Написание DPI-Aware классических приложений в Предварительная версия Windows 8.1.
Требования
| Минимальная версия клиента | Windows 8.1 [только классические приложения] |
| Минимальная версия сервера | Windows Server 2012 R2 [только классические приложения] |
| Целевая платформа | Windows |
| Header | shellscalingapi.h |
| Библиотека | Shcore.lib |
| DLL | Shcore.dll |