如何更改 C:\Windows 中程序的高 DPI 设置?

如何更改 C:\Windows 中程序的高 DPI 设置?

Windows 10,64 位。我的个人笔记本电脑。

我需要为 C:\Windows\hh.exe(HTML 帮助查看器)启用系统缩放器的高 DPI 模式,因为它在我的计算机上无法正确缩放。

然而,由于某种原因兼容性hh.exe 的属性窗口 (右键单击 → 属性) 中缺少选项卡。看起来 C:\Windows 中的所有其他应用程序都存在同样的问题。

我唯一的想法是,这也许是一个权限问题;但在“安全”选项卡中,我可以单击编辑但所有控件都被禁用了,所以我无法更改任何权限。我看到一个名为受信任的安装程序拥有完全控制权,但在计算机管理控制台中,这不是一个实际的组 - 并且也没有出现在安全对象搜索对话框中 - 所以我无法将自己添加到其中。

虽然我不知道这是否是权限问题,但这是我唯一能想到的尝试方法。

所以我的问题是:如何访问 C:\Windows 中可执行文件的属性窗口中的“兼容性”选项卡?


我尝试过的另一件事是在我的桌面上创建 hh.exe 的快捷方式,希望能够从那里访问兼容性设置,但没有成功。可惜,这没有用,选项卡仍然不可用:

在此处输入图片描述


我还尝试手动将兼容性设置添加到注册表(使用来自这一页):

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]

"C:\\WINDOWS\\hh.exe"="~ GDIDPISCALING DPIUNAWARE"

但这也无济于事。


我还尝试将 hh.exe 从 C:\Windows 复制到我的桌面(只是测试),实际上曾是能够成功编辑兼容性设置,并通过将 CHM 文件拖到 exe 上来打开它们。

不过,我尝试通过右键单击 CHM 文件 -> 将我的副本设置为 CHM 文件的默认应用程序打开方式 -> 选择应用程序 -> 用作默认,但它实际上并没有改变应用程序(并且当时甚至没有用我的副本打开它)。

我也尝试将我的副本重命名为 hhcompat.exe,但没有效果。

我尝试通过修改注册表中手动更改打开命令:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\chm.file\shell\open\command

指向我的副本;但即使以管理员身份运行注册表编辑器,它也会显示“写入值的新内容时出错”。

尽管如此,这仍然是我目前为止最接近的一次。

答案1

胜利!但这是一个糟糕的解决方案。在尝试了我文章中列出的所有其他方法后,我终于能够让 HTML 帮助查看器 (c:\windows\hh.exe) 按照我想要的方式工作,并启用缩放功能。这个过程非常不靠谱,我不推荐它,但这也是我发现的唯一可行的方法:

  1. 在某处创建一个文件夹(我的是“C:\Programs\hhcompat”,所以这里以此为示例)。
  2. 将 C:\Windows\hh.exe 复制到该文件夹​​中。
  3. 现在可以通过右键单击副本来更改兼容性设置。请根据喜好进行设置。
  4. 打开注册表编辑器(奇怪的是,您甚至不需要以管理员身份执行此操作)。
  5. 导航HKLM\SOFTWARE\Classes\.chm
  6. 它的默认值应该是chm.file。将其更改为其他值(您选择,我设置了我的chm.file2)。
  7. 现在,右键单击HKLM\SOFTWARE\Classes键并创建一个新键,将其名称设置为您在上一步中设置的名称(例如chm.file2)。
  8. 将其默认打开动词设置为您的副本:
    1. chm.file2在(或其他任何名称)中创建子项shell
    2. shell在命名中创建子项open
    3. open在命名中创建子项command
    4. command将的默认值设置为"C:\Programs\hhcompat\hh.exe" "%1"(或者您的副本路径)。
  9. 现在,在某处找到一个 .chm 文件并双击它。它不会立即在新应用程序中打开,但它将要弹出“打开方式”对话框。
  10. 对话框中将有两个“HTML 帮助查看器”条目。一个是 C:\Windows 中的副本,另一个是您的副本。您可以判断哪一个是您的,因为它下面会有“新建”字样(如果您没有“新建”指示符,请尝试选择第一个,也许)。
  11. 选择那个,然后选中“始终使用此应用程序”框。
  12. 就是这样。再次双击 .chm 文件以确认它已成功运行。

采取这些措施的具体原因如下:

  • 将可执行文件复制到其他地方可让您访问兼容性设置。我猜您无法对 C:\Windows 中的文件执行此操作,或者至少我不知道该怎么做(否则这一切都没有必要)。
  • 您必须将文件类型更改.chm为其他类型,因为系统不允许您编辑默认的 shell 命令chm.file,但它将要让您编辑.chm并添加新键HKLM/软件/类别
  • 您必须通过注册表来执行此操作,因为据我所知,控制面板和 shell 的“打开方式”对话框实际上都不会让您更改 .chm 文件的默认应用程序(至少当它们被标识为“chm.file”时不会)。
  • 第 7 步和第 8 步(创建“chm.file2”条目并设置动词)可能不是必需的,并且仅在步骤 6 中将 .chm 更改为“chm.file2”就足以在下次双击 .chm 文件时触发“打开方式”对话框;但我不知道,我没有尝试过。

所以,是的。为了修复系统实用程序的高 DPI 缩放问题而不得不经历这么多麻烦实在是太愚蠢了(这本来就不应该被破坏……)。但就是这样。类似的过程可以适用于其他系统应用程序。YMMV。

仍对更好的方法持开放态度。

答案2

我能够以更简单的方式做到这一点。

我从 C:\Windows 复制了 hh.exe,并将副本粘贴到 C:\Program Files 中。我重命名了 C:\Program Files 中的文件,这样我就知道这是我的自定义版本。然后我打开“属性”对话框并更改了该版本的高 DPI 设置。

接下来,转到“设置”->“应用程序”->“默认应用程序”,然后选择页面底部附近的“按文件类型选择默认应用程序”。您将获得文件类型和关联应用程序的列表。向下滚动到“.chm”,然后单击关联的默认应用程序“Microsoft® HTML Help Executable”。您将获得一个程序列表,其中包含两个同名副本,请选择第二个(即您重命名的 hh.exe 个人副本)。

一切就绪。双击 *.chm 文件应该会打开您的个人副本及其兼容性设置。

我找不到更改 hh.exe 文件个人副本的描述的方法,该描述显示在它的“属性”对话框中。它与原始 hh.exe 文件相同,都是“Microsoft® HTML Help Executable”,这就是为什么在“系统设置”中选择默认应用程序时,两个应用程序都显示相同的名称。

高血压

相关内容