Установить DPI отдельных приложений в Windows

41

Можно ли установить DPI отдельных приложений в Windows?

Я хочу увеличить DPI одного или нескольких приложений, но не всей системы.

Можно ли это сделать?

yngvedh
источник
7
Удивительно, что они до сих пор не поняли, что это единственная вещь, которая заставит дисплеи с высоким DPI полностью терпимым способом, прежде чем все разработчики исправят все свои приложения.
RomanSt

Ответы:

18

Можно ли установить DPI отдельных приложений в Windows?

Одним словом, нет.

Это глобальная обстановка.

Питер Мортенсен
источник
22
очень неудачно
QueueHammer
27
все еще очень неудачно почти пять лет спустя
Саймон
1
Поскольку Windows 10 выпущена сейчас, поддерживает ли Windows 10 это?
Овидиу Булиган
Существует методика, называемая DPI виртуализация, ее можно включить для каждого приложения. Я разместил ссылку на учебник в моем ответе ниже.
Энди
Еще 3 года и до сих пор нет сообщений. Жаль, что MS никогда не осознавал, насколько это важно.
Бен
8

Вот техника, которая может косвенно удовлетворить ваши потребности. В Windows 8.1 и Windows 10 есть возможность включить масштабирование dpi для старых приложений, написанных до появления экранов с высоким разрешением. Windows заставит приложение полагать, что оно рисует на экране с низким разрешением, и позаботится о масштабировании всего окна для приложения, чтобы результат отображался достаточно большим на экране с высоким разрешением. Это будет растровое масштабирование, а не вектор, поэтому следует ожидать размытия.

Вам нужно будет включить один ключ в реестре, а затем предоставить XML-файл манифеста для каждого приложения, которое вы хотите масштабировать. Хороший учебник по этому вопросу - Как исправить масштабирование приложения Surface Pro 4 + другие дисплеи с высоким разрешением .

Вот важный раздел внешнего манифеста, размещенный в описании видео на YouTube:

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

А вот и содержимое файла .reg, которое активирует внешние файлы манифеста:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide]
"PreferExternalManifest"=dword:00000001
Энди
источник
10
Можете ли вы обобщить содержание ссылки в вашем ответе? Если видео будет удалено или перемещено иным образом, ваш ответ станет бесполезным для будущих посетителей.
Мокубай
1
Как кто-то, кто не может смотреть видео YouTube на работе, я второй комментарий Мокубая.
Домсон
На вопрос superuser.com/questions/1281939/… - как бы это реализовать. Спасибо.
Мартин Кливер
7

Да! Это может быть сделано. Вы можете изменить настройку DPI для отдельного приложения в Windows, но только если оно поддерживает его. Вы можете сделать это следующим образом.

Если у вас есть несколько конкретных приложений, которые поддерживают настройки высокого разрешения, но не указывают это, вы можете настроить эту деталь вручную. Для этого щелкните правой кнопкой мыши ярлык, который запускает приложение (в меню «Пуск»), и выберите «Свойства». На вкладке «Совместимость» включите параметр «Отключить масштабирование отображения в настройках с высоким разрешением». Если у вас есть много приложений для настройки, это быстро утомляет.

Примечание. Это прекрасно работает с Windows Vista, а Windows 7 не знает о Windows XP.

bkdubey
источник
1
Я только что проверил «Отключить масштабирование экрана при настройках с высоким DPI» в Windows 7. Он не приводит к тому, что текст отображается как «средний», когда глобальный параметр «маленький» или наоборот. Другими словами, «Отключить масштабирование экрана при настройке высокого DPI» не влияет на размер текста так же, как CP-> Display-Set Custom Text size (DPI).
alx9r
6
Это отключает масштабирование экрана; это не отключает высокий DPI. Масштабирование экрана - это функция обратной совместимости, которая позволяет плохим приложениям визуализироваться с разрешением 96 DPI и масштабироваться до любого DPI, на котором установлен экран (в виде растрового изображения). Некоторые старые приложения правильно обрабатывают High DPI, но не объявляют его, поэтому они не должны попадать в «корзину плохих приложений», которая приводит к расплывчатому интерфейсу. Этот параметр отключает это масштабирование и сообщает приложению, каков настоящий DPI; оно не позволяет приложению работать с 96 DPI, как если бы масштабирование DPI не было включено.
Билли Онил
Если у меня есть 13 "мой основной ноутбук и 19" внешний монитор, значит ли это, что все, что я вижу на мониторе моего ноутбука, будет слишком большим?
Boris_yo
Я не до конца понимаю все тонкости этого, но я попробовал это на одном приложении, которое доставляло мне значительное горе (старое приложение .NET 2.x), и, похоже, это никак не повлияло: макет был так же сломан до изменения настроек, как и после. Единственный обходной путь, который я нашел, - это (гаа) запустить его на совершенно другом компьютере. Даже создание удаленного рабочего стола на этом удаленном компьютере с моего компьютера с высоким разрешением ломает приложение.
Кен Смит
Я использую мониторы 4K и 2560 ('2K') бок о бок в Windows 10, и они имеют одинаковое измерение (27 "). Таким образом, дисплей 4K должен быть масштабирован примерно на 150%, чтобы его можно было использовать в общем. Я использовал это параметр совместимости, чтобы предотвратить наивное масштабирование файла putty.exe и, следовательно, его размывание на любом дисплее, не являющемся основным. Теперь, что обременительно, так это то, что мне приходится вручную настраивать размер шрифта терминала, когда я его использую на Дисплей 4K, так как в противном случае он снова был бы слишком маленьким, но возможность заставить его отображать устаревшую программу без какого-либо масштабирования была бы очень полезна
Стивен Лу,
2

РЕШЕНИЕ ДЛЯ WINDOWS 10 на ПК с высоким разрешением.

Щелкните правой кнопкой мыши значок программного обеспечения / ссылка> Свойства> вкладка «Совместимость»> Изменить настройку высокого разрешения> Установите флажок «Переопределить поведение масштабирования с высоким разрешением»> выберите «Система» в окне ниже (по умолчанию «приложение»)

повеселись
источник