8

У меня Windows 7 с масштабированием DPI, установленным на 120 DPI. Это создает некоторые проблемы со старыми приложениями, такими как обрезанный текст, размытая графика или слишком большой текст. Я бы хотел отключить масштабирование DPI для этих приложений. Я пробовал это: application.exe "контекстное меню -> свойства -> совместимость -> отключить масштабирование дисплея при высоких настройках DPI".

Этот параметр ничего не меняет. Приложение по-прежнему отображается как 120 DPI, а не 96 DPI. Я также проверил это на новой, не испорченной Windows 7 на виртуальной машине - такое же поведение.

Вопрос в том, как заставить одно приложение использовать 96 DPI другим, РАБОЧИМ, способом?

6 ответов6

4

У меня была та же самая проблема, и выбор любого из флажков не имел никакого значения. Вот что я сделал, чтобы исправить это:

  1. Перейдите в «Панель управления \ Оформление и персонализация \ Отображение» и нажмите «Установить пользовательский размер текста (DPI)». Убедитесь, что флажок "Использовать масштабирование DPI в стиле Windows XP" НЕ установлен. Выйдите, чтобы применить изменения, если это необходимо.

  2. Вместо того, чтобы выбирать параметры совместимости самостоятельно, запустите мастер и позвольте Windows выбрать его для вас. Вы можете сделать это, щелкнув правой кнопкой мыши значок программы и выбрав в меню "Устранение неполадок совместимости". Это исправило отсечение дисплея для меня. Текст немного нечеткий, но я могу жить с ним; Я просто счастлив, что вижу все это. :)

2

Я понимаю, что это очень старый вопрос, но я только что нашел решение. Переключите тему (Панель управления> Все элементы панели управления> Персонализация) с темы Aero на тему Basic, и масштабирование для каждого приложения будет работать.

1

просто предположение, но, может быть, если вы запустите приложение в режиме совместимости с XP или отключите настройки визуальной темы для этого приложения, оно проигнорирует настройки DPI?

0

Если вы обнаружите, что Disable display scaling on high DPI settings недоступен для 64-разрядного приложения, например:

это может быть связано с тем, что Microsoft встроила логику, чтобы запретить этот параметр для 64-битных приложений. В этом случае я рекомендую вам следовать инструкциям на https://superuser.com/a/1018284/460302 и получить набор средств для обеспечения совместимости приложений.

В вышеупомянутом ответе пользователь Ben N подробно расскажет о логике и инфраструктуре Windows для работы с "несовместимыми" приложениями. Его процедура позволяет мне управлять совместимостью по сигнатуре приложения, так что даже если я обновлю приложение и его номер версии и / или изменения в реестре, я все еще буду защищен.

Например, вот моя подпись для Rainmeter 3.3.0.2519:

Когда я обновил Rainmeter, это перестало работать. Поэтому я создал новую подпись без номеров версий:

..и мой новый 64-битный релиз Rainmeter отображается правильно.

Как говорит Бен Н , давай выберем большие пушки.

0

У меня была та же проблема, и "Вариант три" (см. Ниже) с сайта sevenforums.com помог мне. Мне не удалось установить необходимые настройки для запуска приложения с удаленного сервера в диалоговом окне свойств.

Добавьте в HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers и / или HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers новое "значение строки".

Измените имя на полный путь к вашему приложению (например, \\server\dir\app.exe или c:\dir\app.exe) и задайте "Значение данных" в соответствии с этими параметрами (возможно несколько параметров, которые нужно разделять с пробелом):

# Compatibility Mode        Data Value
Windows 95                  WIN95
Windows 98 / Windows Me     WIN98
Windows NT 4.0 (SP 5)       NT4SP5
Windows 2000                WIN2000
Windows XP (SP 2)           WINXPSP2
Windows XP (SP 3)           WINXPSP3
Windows Server 2003 (SP 1)  WINSRV03SP1
Windows Server 2008 (SP 1)  WINSRV08SP1
Windows Vista               VISTARTM
Windows Vista (SP 1)        VISTASP1
Windows Vista (SPk 2)       VISTASP2
Windows 7                   WIN7RTM

#Settings                           Data Value
Run in 256 colors                   256Color
Run in 640 x 480 screen resolution  640x480
Disable visual themes               DISABLETHEMES
Disable desktop composition         DISABLEDWM
Disable display scaling on 
  high DPI settings                 HIGHDPIAWARE
Run this program as Admin           RUNASADMIN

С этими настройками я смог запустить свое приложение так:

Имя: \\server\dir\app.exe

Значение данных: DISABLETHEMES HIGHDPIAWARE RUNASADMIN

0

Ответ mastseller (1. answer) работает, но большая часть текста приложения становится нечеткой :(. НО теперь работает флажок "Использовать масштабирование DPI в стиле Windows XP". Поэтому, если есть какое-то приложение, в котором нечеткое правое возмущение, чем небольшой размер, сделайте следующее:1) Найдите начальный файл приложения (.exe, .com) в файловом менеджере, ИЛИ его значок (или если приложение работает , вы можете найти его в диспетчере задач Windows тоже). 2) Щелкните правой кнопкой мыши и выберите свойство. 3) Нажмите на вкладку "Совместимость". 4) Установите флажок "Использовать масштабирование DPI в стиле Windows XP". 5) Перезапустите приложение (оно работает).

Вы должны делать все нечеткие приложения по одному, но это работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .