Функция SetProcessDpiAwareness (shellscalingapi.h)
Задает уровень осведомленности о DPI по умолчанию процесса. Это эквивалентно вызову Метода SetProcessDpiAwarenessContext с соответствующим значением DPI_AWARENESS_CONTEXT .
Примечание
Рекомендуется задавать уровень осведомленности о DPI по умолчанию процесса с помощью манифеста приложения, а не вызова API. Дополнительные сведения см. в разделе Настройка сведений о DPI по умолчанию для процесса . Настройка определения DPI по умолчанию процесса с помощью вызова API может привести к непредвиденному поведению приложения.
Синтаксис
HRESULT SetProcessDpiAwareness(
[in] PROCESS_DPI_AWARENESS value
);
Параметры
[in] value
Задаваемое значение осведомленности о DPI. Возможные значения из перечисления PROCESS_DPI_AWARENESS .
Возвращаемое значение
Эта функция возвращает одно из следующих значений.
Код возврата | Описание |
---|---|
|
Осведомленность о DPI для приложения успешно настроена. |
|
Переданное значение является недопустимым. |
|
Осведомленность о DPI уже задана путем вызова этого API ранее или с помощью манифеста приложения (.exe). |
Комментарии
В предыдущих версиях Windows для всего приложения было только одно значение DPI. Для этих приложений рекомендуется задать значение осведомленности о DPI в манифесте, как описано в PROCESS_DPI_AWARENESS. В соответствии с этой рекомендацией вы не должны были использовать SetProcessDpiAwareness для обновления осведомленности о DPI. На самом деле последующие вызовы этого API завершатся ошибкой после того, как один раз будет задано значение DPI. Теперь, когда осведомленность о DPI привязана к потоку, а не к приложению, этот метод можно использовать для обновления осведомленности о DPI. Однако вместо этого рекомендуется использовать SetThreadDpiAwarenessContext .
Для старых приложений настоятельно не рекомендуется использовать SetProcessDpiAwareness , чтобы задать уровень осведомленности о DPI для приложения. Вместо этого следует объявить осведомленность о DPI для приложения в манифесте приложения. Дополнительные сведения о значениях осведомленности о DPI и их настройке в манифесте см. в PROCESS_DPI_AWARENESS .
Если уровень осведомленности о DPI не задан, значение по умолчанию — PROCESS_DPI_UNAWARE.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8.1 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | shellscalingapi.h |
Библиотека | Shcore.lib |
DLL | Shcore.dll |