覆盖 Windows Media Player 的高 DPI 设置?

覆盖 Windows Media Player 的高 DPI 设置?

我使用 Windows Media Player 播放音乐文件,因为 Windows 似乎没有像样的免费音乐播放器。VLC 的界面很烂。微软用来替代 WMP 的 Groove Music 也很烂;它甚至不支持文件拖放。

问题是 WMP 在高 DPI 下不能很好地工作。滑块太细,无法点击,并且当窗口最大化时,它会闪烁。对于普通应用程序 EXE,属性中有“兼容性”选项卡,因此我可以覆盖高 DPI 设置。但出于某种原因,WMP 不存在该选项卡。有没有办法访问该设置,以便我可以让 WMP 的窗口加倍(下拉菜单中的“系统(增强)”选项)?

在此处输入图片描述

在此处输入图片描述

答案1

您可以将其复制wmplayer.exe到同一个 Windows Media Player 目录中。副本将有一个“兼容性”选项卡,但其他功能相同。(您也可以使用十六进制编辑器破解 EXE 清单以更改其 DPI 感知声明,但制作副本要容易得多!)

不幸的是,GDI(增强系统)缩放给这个应用程序带来了很大的混乱:

文本省略,按钮涂黑

但系统扩展很好,只是模糊:

布局正确,模糊


但是,如果您需要修改原始可执行文件的 DPI 感知(例如由于文件关联问题),我们必须打破十六进制编辑器-我喜欢十六32。首先,将文件的所有权和完全访问权限分配wmplayer.exe给管理员组。制作一份备份,以防您犯错或想要恢复更改。

以管理员身份运行 XVI32 并打开wmplayer.exe。按 Ctrl+F 打开“查找”对话框。搜索文本字符串,<dpiAwareness取消选中“作为 Unicode Latin”框。单击右侧窗格中的左尖括号,确保窗格处于活动状态(白色背景)。点击空格键,直到用<dpiAwareness>PerMonitorV2</dpiAwareness>空格覆盖整个标签。(不要按 Delete 或 Backspace!)这将删除 DPI 感知声明并使 Windows 应用系统缩放。使用 Ctrl+S 保存更改。

为了完整性:可以通过添加标签来应用 GDI 缩放gdiScaling。(这同样会给 Windows Media Player 带来丑陋的结果,但可能对其他程序有用。)向上滚动一点点,xmlns用“201”覆盖前一个标签属性中的“2016”7",然后在其右尖括号后立即用 覆盖空格<gdiScaling>true</gdiScaling>。完成后,它将看起来像这样(新标签以红色突出显示,属性更改以蓝色选定):

添加了 gdiScaling 标签,6 更改为 7

答案2

使用 Windows Media Player 12,您可以通过编辑注册表 AppCompatFlags 使其具有 DPI 感知功能:

  1. 按 Windows + R 输入regedit,输入并转到:

Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

  1. 右键单击所调用的键Layers并创建一个新的字符串值。

  2. 命名字符串C:\Program Files (x86)\Windows Media Player\wmplayer.exe

  3. 右键单击新创建的字符串并选择Modify..,然后插入单词HIGHDPIAWARE并选择Ok

  4. 重新启动 Windows Media Player 以使更改生效

此修复程序也可以使mmc.exe所有启用 Microsoft 管理控制台的应用程序都能够感知 DPI。

相关内容