Масштабирование приложений в Windows 10: чек-лист для настройки DPI | AdminWiki

Масштабирование приложений в Windows 10: чек-лист для настройки DPI

23 июля 2026 7 мин. чтения

Размытый текст в старых приложениях на 4K-мониторе, некорректное отображение интерфейса в виртуальной машине, элементы управления, которые «убегают» за границы окна - эти проблемы знакомы каждому системному администратору. Решение есть: Windows 10 (сборки 1809–22H2) позволяет гибко управлять DPI-масштабированием для отдельных программ через три независимых механизма. В этом чек-листе собраны только рабочие команды, пути в реестре и проверенные методы, которые вы сможете применить за 10 минут.

Масштабирование в Windows 10 работает через параметр DPI Awareness - флаг, который сообщает системе, умеет ли приложение самостоятельно обрабатывать высокое разрешение. Если флаг отсутствует или установлен некорректно, система применяет виртуализацию DPI: растягивает окно программы как растровое изображение. Результат - размытые шрифты и нечёткие элементы. Вы можете переопределить поведение через свойства совместимости, реестр или внешний манифест. Каждый метод покрывает свой сценарий: от быстрого исправления одного приложения до централизованного развёртывания через GPO.

Проверка версии и сборки Windows 10

Перед настройкой убедитесь, что ваша система поддерживает все описанные методы. Функция «Переопределение масштабирования с высоким разрешением» появилась в Windows 10 1803, но стабильное поведение гарантировано начиная с 1809. Для сборок 21H2 и 22H2 доступны дополнительные параметры в групповых политиках.

Откройте окно «Выполнить» (Win + R) и введите winver. Запомните номер версии и сборки. Если вы работаете с виртуальной машиной, проверьте, установлены ли Integration Services или Guest Additions - без них гостевые ОС могут некорректно определять физическое разрешение хостового монитора.

Метод 1: Свойства совместимости

Самый быстрый способ исправить масштабирование для конкретной программы. Подходит для разовых настроек на локальной машине.

  1. Найдите исполняемый файл приложения (.exe) или его ярлык на рабочем столе.
  2. Кликните правой кнопкой мыши и выберите «Свойства».
  3. Перейдите на вкладку «Совместимость».
  4. Нажмите «Изменить параметры высокого DPI».
  5. В разделе «Переопределение масштабирования» установите флажок «Переопределить режим масштабирования с высоким разрешением».
  6. В выпадающем списке выберите один из трёх вариантов:
    • Приложение - программа сама управляет масштабированием. Используйте, если приложение поддерживает HiDPI, но система этого не распознала.
    • Система - масштабированием управляет Windows. Подходит для большинства старых программ: интерфейс будет чётким, но может измениться размер элементов.
    • Система (расширенное) - улучшенный вариант для приложений на GDI. Решает проблему размытых шрифтов в программах, которые используют старые API отрисовки текста.
  7. Нажмите «ОК» и перезапустите приложение.

Этот метод создаёт ключ в реестре по пути HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers. Значение параметра - строка с флагами, например ~ HIGHDPIAWARE или ~ GDIDPISCALING. Если вам нужно применить настройки для всех пользователей компьютера, используйте методы ниже.

Метод 2: Редактирование реестра

Прямая работа с реестром даёт полный контроль над параметрами масштабирования. Этот подход незаменим при автоматизации через скрипты или развёртывании через GPO.

Настройка для текущего пользователя

Откройте редактор реестра (regedit.exe) и перейдите в ветку:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Создайте строковый параметр с именем, равным полному пути к исполняемому файлу (например, C:\Program Files (x86)\OldApp\app.exe). В качестве значения укажите один или несколько флагов через пробел:

  • ~ HIGHDPIAWARE - приложение самостоятельно обрабатывает DPI.
  • ~ GDIDPISCALING - включить расширенное масштабирование GDI (убирает размытость шрифтов).
  • ~ PERPROCESSSYSTEMDPIFORCEOFF - отключить принудительное системное DPI-масштабирование для процесса.
  • ~ PERPROCESSSYSTEMDPIFORCEON - принудительно включить системное масштабирование.

Настройка для всех пользователей

Для применения параметров ко всем учётным записям на компьютере используйте ветку:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Синтаксис значений идентичен пользовательской ветке. Изменения в HKLM требуют прав администратора и вступают в силу после перезагрузки или перезапуска приложения.

Массовое применение через PowerShell

Для автоматизации настройки на десятках машин используйте PowerShell-скрипт. Пример для добавления флага ~ GDIDPISCALING для приложения OldApp.exe всем пользователям:

$regPath = "HKLM:\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"
$appPath = "C:\Program Files (x86)\OldApp\OldApp.exe"
$flags = "~ GDIDPISCALING"
New-ItemProperty -Path $regPath -Name $appPath -Value $flags -PropertyType String -Force

Готовые скрипты для массовой настройки DPI с проверкой ошибок и логированием вы найдёте в руководстве по автоматизации настройки высокого DPI.

Метод 3: Внешний манифест приложения

Манифест - это XML-файл, который сообщает Windows о поддержке приложением высоких разрешений. Метод не требует прав администратора для изменения реестра и работает даже в заблокированных средах. Файл манифеста размещается рядом с исполняемым файлом и имеет имя app.exe.manifest (где app.exe - имя вашего приложения).

Создайте текстовый файл со следующим содержимым:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
      <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness>
    </windowsSettings>
  </application>
</assembly>

Сохраните файл в кодировке UTF-8 в ту же папку, где находится .exe. Например, для C:\App\program.exe манифест должен называться C:\App\program.exe.manifest. Перезапустите приложение. Windows обнаружит внешний манифест и применит указанные настройки DPI.

Параметр dpiAware со значением true указывает, что приложение осведомлено о DPI. dpiAwareness со значением PerMonitorV2 - наиболее современный режим, при котором программа корректно перерисовывается при перемещении между мониторами с разным масштабированием. Если приложение не поддерживает PerMonitorV2, замените значение на System.

Этот метод особенно полезен для legacy-приложений, которые вы не можете модифицировать, но имеете доступ к файловой системе. В средах с глубокой защитой (AppLocker, WDAC) убедитесь, что политики не блокируют чтение внешних манифестов.

Тестирование изменений

После применения любого из методов выполните проверку по чек-листу:

  1. Запустите приложение и оцените чёткость текста. Сравните с эталонным скриншотом, если он есть.
  2. Проверьте все элементы интерфейса: кнопки, выпадающие списки, поля ввода. Убедитесь, что они не обрезаны и не накладываются друг на друга.
  3. Переместите окно между мониторами с разным масштабированием (например, 100% и 150%). Приложение должно корректно перерисоваться без размытия.
  4. Сверните и разверните окно, измените его размер. Интерфейс должен оставаться стабильным.
  5. Проверьте работу приложения под разными учётными записями, если настройки применялись через HKLM.

Если приложение по-прежнему отображается некорректно, попробуйте комбинацию методов. Например, флаг ~ GDIDPISCALING в реестре вместе с внешним манифестом часто решает проблему размытых шрифтов в старых бухгалтерских программах. Подробный разбор причин нечёткого текста и методы их устранения - в статье про настройку масштабирования на нескольких мониторах.

Типичные проблемы и их решения

Размытый текст остаётся после применения всех методов. Включите в свойствах совместимости режим «Система (расширенное)» и дополнительно установите флаг ~ GDIDPISCALING через реестр. Для приложений на .NET Framework версии ниже 4.6.2 может потребоваться добавление параметра DpiAwareness в конфигурационный файл app.config.

Приложение отображается слишком мелким или слишком крупным. Проверьте, не установлено ли в системе кастомное масштабирование (более 500%). Windows 10 некорректно обрабатывает значения выше 500% для некоторых приложений. Верните стандартное значение: «Параметры» → «Дисплей» → «Масштаб и разметка» → выберите 100%, 125%, 150% или 175%.

Настройки не применяются для всех пользователей. Убедитесь, что вы используете ветку HKLM, а не HKCU. Проверьте права на запись в HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers. В доменной среде настройки могут перезаписываться групповыми политиками - проверьте результирующий набор политик через rsop.msc.

Групповые политики для доменного развёртывания

Для централизованной настройки масштабирования в домене Active Directory используйте административные шаблоны. Путь в редакторе GPO:

Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Сопоставление файлов

Включите политику «Использовать сопоставление файлов для управления параметрами совместимости приложений» и укажите путь к XML-файлу с конфигурацией. Формат файла совпадает со структурой внешнего манифеста. Политика применяется при следующем обновлении групповых политик.

Для сред с Kubernetes и контейнеризованными приложениями, где масштабирование также критично для интерфейсов управления, ознакомьтесь с руководством по наблюдаемости высоконагруженных систем - принципы мониторинга и алертов, описанные там, применимы и к отслеживанию корректности DPI-настроек на парке рабочих станций.

Фиксация изменений в документации

Задокументируйте выполненные настройки. Для каждой программы, для которой вы переопределили масштабирование, запишите:

  • Полный путь к исполняемому файлу.
  • Применённый метод (свойства совместимости, реестр, манифест).
  • Конкретные флаги и значения.
  • Дату изменения и версию сборки Windows.

Эти данные сохраните в базе знаний команды. При миграции на новые версии Windows или переустановке рабочих станций документация сократит время повторной настройки с часов до минут. Для организации структурированной базы знаний IT-отдела используйте сравнение платформ для IT-базы знаний - там разобраны критерии выбора между Confluence, BookStack, Outline и DokuWiki с учётом интеграции с Git и CI/CD.

Поделиться:
Сохранить гайд? В закладки браузера