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) 按照我想要的方式工作,并启用缩放功能。这个过程非常不靠谱,我不推荐它,但这也是我发现的唯一可行的方法:
- 在某处创建一个文件夹(我的是“C:\Programs\hhcompat”,所以这里以此为示例)。
- 将 C:\Windows\hh.exe 复制到该文件夹中。
- 现在可以通过右键单击副本来更改兼容性设置。请根据喜好进行设置。
- 打开注册表编辑器(奇怪的是,您甚至不需要以管理员身份执行此操作)。
- 导航HKLM\SOFTWARE\Classes\.chm
- 它的默认值应该是
chm.file
。将其更改为其他值(您选择,我设置了我的chm.file2
)。 - 现在,右键单击HKLM\SOFTWARE\Classes键并创建一个新键,将其名称设置为您在上一步中设置的名称(例如
chm.file2
)。 - 将其默认打开动词设置为您的副本:
chm.file2
在(或其他任何名称)中创建子项shell
shell
在命名中创建子项open
open
在命名中创建子项command
command
将的默认值设置为"C:\Programs\hhcompat\hh.exe" "%1"
(或者您的副本路径)。
- 现在,在某处找到一个 .chm 文件并双击它。它不会立即在新应用程序中打开,但它将要弹出“打开方式”对话框。
- 对话框中将有两个“HTML 帮助查看器”条目。一个是 C:\Windows 中的副本,另一个是您的副本。您可以判断哪一个是您的,因为它下面会有“新建”字样(如果您没有“新建”指示符,请尝试选择第一个,也许)。
- 选择那个,然后选中“始终使用此应用程序”框。
- 就是这样。再次双击 .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”,这就是为什么在“系统设置”中选择默认应用程序时,两个应用程序都显示相同的名称。
高血压