是否有可靠的方法来检测 Windows Vista 或更新版本的 Windows 上是否安装了 WinHelp?如果可能的话,我想要一个不特定于任何特定 Windows 版本的解决方案。
我已将此问题发布到其他留言板上,并在安装 Microsoft 记录的 WinHelp 和注册表条目之前和之后得到了有关 Winhlp32.exe 大小的答案,但没有一个是正确的。
是否有可靠的方法来检测 Windows Vista 或更新版本的 Windows 上是否安装了 WinHelp?如果可能的话,我想要一个不特定于任何特定 Windows 版本的解决方案。
我已将此问题发布到其他留言板上,并在安装 Microsoft 记录的 WinHelp 和注册表条目之前和之后得到了有关 Winhlp32.exe 大小的答案,但没有一个是正确的。
从 Microsoft 下载的 WinHelp 似乎是启用 WinHelp 程序的修补程序 (.msu)。这可以解释为什么大小/注册表项不会更改,因为修补程序只是原始文件的“增量”更改。
由于它是一个修补程序,这意味着您应该能够查询为您的操作系统安装的修补程序。
以下命令会生成一个 .htm 文档,其中列出了所有已安装的修补程序。
wmic qfe list full /format:htable >C:\hotfixes.htm
生成的表列出了与已安装的修补程序相对应的知识库文章。您可以搜索“917607”,因为如果您安装了 WinHelp 修补程序,它应该存在。您可以将不同的选项传递给该实用程序以执行更好的搜索。注意 - wmic 命令需要管理员权限才能运行。
除了试图说服管理层解决这种方法的问题外,您还可以查看 Windows 注册表。
基本上,如果 WinHelp 已注册,则存在以下注册表项:
HKEY_CLASSES_ROOT \ .hlp ->(默认)= hlpfile
HKEY_CLASSES_ROOT\hlpfile\shell\open\command\(默认)包含字符串“winhlp32.exe”
如果这两个值都正确,则 winhelp 可用并已注册。您还可以从此处检索 winhlp32.exe 的位置。
我不想这么说,但从 WinHelp 继续。它已被弃用是有原因的。我们能够在几个小时内迁移到 .chm。使用较新的帮助创作工具非常简单,而 .chm 等较新的格式为您提供了级联样式表等好处。