Я использую Windows Media Player для воспроизведения музыкальных файлов, потому что, похоже, нет ни одного приличного бесплатного музыкального проигрывателя для Windows. Интерфейс VLC отстой. Groove Music, которым Microsoft заменяет WMP, тоже отстой; он даже не поддерживает перетаскивание файлов.
Проблема в том, что WMP плохо работает с высоким DPI. Ползунок слишком тонкий, чтобы на него нажать, а когда окно развернуто, оно мерцает. Для обычных EXE-файлов приложений в свойствах есть вкладка «Совместимость», с помощью которой я могу переопределить настройки высокого DPI. Но по какой-то причине для WMP такой возможности нет. Можно ли как-то получить доступ к настройкам, чтобы окно WMP удвоилось (опция «Система (улучшенная)» в раскрывающемся меню)?
решение1
Вы можете сделать копию wmplayer.exe
в тот же каталог Windows Media Player. У копии будет вкладка «Совместимость», но в остальном она будет работать так же. (Вы также можете взломать EXE-манифест с помощью шестнадцатеричного редактора, чтобы изменить его декларацию поддержки DPI, но сделать копию гораздо проще!)
К сожалению, масштабирование GDI (расширенная система) приводит к большому беспорядку в этом приложении:
Но масштабирование системы в порядке, просто размыто:
Однако если вам необходимо изменить распознавание DPI исходного исполняемого файла (например, из-за проблем с ассоциацией файлов), нам придетсяразблокировать шестнадцатеричный редактор-Мне нравитсяXVI32. Сначала назначьте владельца и полный доступ к wmplayer.exe
файлу группе Администраторы. Сделайте резервную копию на случай, если вы допустите ошибку или захотите отменить изменения.
Запустите XVI32 от имени администратора и откройте wmplayer.exe
. Нажмите Ctrl+F, чтобы открыть диалоговое окно поиска. Найдите текстовую строку <dpiAwareness
со снятым флажком «as Unicode Latin». Щелкните открывающую угловую скобку на правой панели, чтобы убедиться, что панель активна (белый фон). Нажимайте пробел, пока не перезапишете весь тег <dpiAwareness>PerMonitorV2</dpiAwareness>
пробелами. (Не нажимайте Delete или Backspace!) Это удалит декларацию поддержки DPI и заставит Windows применить системное масштабирование. Сохраните изменения, нажав Ctrl+S.
Для полноты картины: масштабирование GDI можно применить, добавив тег gdiScaling
. (Это снова приведет к ужасным результатам для Windows Media Player, но может быть полезно для других программ.) Прокрутите немного вверх и замените «2016» в атрибуте предыдущего тега xmlns
на «2017", а затем сразу после закрывающей угловой скобки замените пробелы на <gdiScaling>true</gdiScaling>
. Когда вы закончите, это будет выглядеть так (новый тег выделен красным, изменение атрибута выделено синим):
решение2
В Windows Media Player 12 вы можете сделать его поддерживающим DPI, отредактировав реестр AppCompatFlags:
- Нажмите Windows + R, введите
regedit
, введите и перейдите к:
Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
Щелкните правой кнопкой мыши по вызываемому ключу
Layers
и создайте новое строковое значение.Назовите строку
C:\Program Files (x86)\Windows Media Player\wmplayer.exe
Щелкните правой кнопкой мыши по только что созданной строке и выберите
Modify..
, затем вставьте словоHIGHDPIAWARE
и выберитеOk
.Перезапустите Windows Media Player, чтобы изменения вступили в силу.
Это исправление также может подойти для mmc.exe
того, чтобы все приложения с поддержкой консоли управления Microsoft могли поддерживать DPI.