检测是否在Vista或更新的Windows上安装了WinHelp

时间:2008-09-15 18:27:54

标签: windows windows-vista windows-server-2008 winhelp

是否有可靠的方法来检测Windows Vista或更新版本的Windows上是否安装了WinHelp?如果可能的话,我想要的解决方案不是特定于任何特定版本的Windows。

我已将此问题发布到其他留言板,并在安装Microsoft已记录的WinHelp和注册表项之前和之后获得有关Winhlp32.exe大小的答案,但这些都没有正确。

3 个答案:

答案 0 :(得分:3)

从Microsoft下载WinHelp似乎是启用WinHelp程序的修补程序(.msu)。这可以解释为什么大小/注册表项不会更改,因为修补程序只是原始文件的“增量”更改。

由于它是一个修补程序,这意味着您应该能够查询已安装的操作系统修补程序。

以下命令会生成一个.htm文档,其中列出了所有已安装的修补程序。

wmic qfe list full /format:htable >C:\hotfixes.htm

生成的表列出了与安装的修补程序对应的知识库文章。您可以搜索“917607”,因为如果您已安装WinHelp修补程序,它应该存在。您可以向该实用程序传递不同的选项以执行更好的搜索。注 - wmic命令需要管理员权限才能运行。

Link to Microsoft KB Article on WinHelp

答案 1 :(得分:0)

我讨厌说出来,但继续从WinHelp开始。它已被弃用是有原因的。我们能够在几个小时内迁移到.chm。使用较新的帮助创作工具非常简单,而像.chm这样的新格式可以为您提供级联样式表等优点。

答案 2 :(得分:0)

除了试图说服管理层解决这种方法的问题外,您还可以查看Windows注册表。

基本上,如果注册了WinHelp,则会出现以下注册表项:

  • HKEY_CLASSES_ROOT \ .hlp - > (默认)= hlpfile

  • HKEY_CLASSES_ROOT \ hlpfile \ shell \ open \ command \(默认)包含字符串“winhlp32.exe”

如果这两个值都正确,则winhelp可用并注册。您还可以从此处检索winhlp32.exe的位置。