17

我需要一些帮助,我有一些.hlp文件,我想将其转换为.chm文件,因为.hlp文件不能在 Windows 10 上运行。

我怎样才能做到这一点?

4

4 回答 4

28

根据您的要求,我看到两个或更多解决方案:

  • 将 WinHelp (HLP) 转换为 HTMLHelp (CHM) 或 PDF
  • 在 Windows10 上运行 WinHelp 文件

将 WinHelp (HLP) 转换为 HTMLHelp (CHM):

我网站上的教程分步描述了如何在免费软件/共享软件和“低预算”级别上将 WinHelp (HLP) 转换为 HTMLHelp (CHM)。下载部分的转换项目示例包括工作结构和示例文件。

您当然可以使用Help+ManualHelpScribble或任何其他 HAT 等帮助创作工具 (HAT) 将现有 WinHelp 项目转换为 HTMLHelp。

在 Windows 10 上运行 WinHelp:

WinHelp (.hlp) 格式自 1990 年代初就已存在,并被 HTML Help 1.x (.chm) 取代。Microsoft 强烈建议您在大约十年前离开 WinHelp。但是对于一个测试应用程序来说,它就像一个魅力一样在我的 Windows10 机器上运行。

在此处输入图像描述

但是需要一些繁重的步骤来修复过去的 WinHelp 查看器。请注意,我在这里没有提到 *.chm 帮助文件的 HTMLHelp 查看器。

遵循解决方案步骤取决于您的 Windows 10 版本(32 位或 64 位)。要找出您的系统类型(32 位或 64 位),请按住Windows+ Rmsinfo32在出现的“运行”对话框中键入并按 Enter 。

您知道,尝试在 Microsoft 支持页面上打开帮助文件 (*.hlp) 结果。在基于 Windows 的程序中打开帮助时出错:“Feature not included”或“Help not supported”

您会找到 Windows 8.1 的下载链接,但您必须以特殊方式安装 Windows 10 (Windows8.1-KB917607-x64.msu)。

  1. 以管理员身份启动您的命令提示符(请注意 - 此处为德语示例)!
  2. 将下载的 .msu 文件提取到临时目录

    md msu-extracted

    expand Windows8.1-KB917607-x64.msu /f:* .\msu-extracted

  3. 提取包含的 CAB 文件,其中包含 279 个文件。

    cd msu-extracted

    md cab-extracted

    expand Windows8.1-KB917607-x64.cab /f:* .\cab-extracted

  4. 根据您的语言设置找到匹配的 MUI 文件,例如使用“cs-”、“de-”或“en-”。使用 x86 变体的人需要运行“dir x86*de-*”。</p>

    cd cab-extracted

  5. 导航到您的语言“... de-de ...”的给定路径,例如:

    cd amd64_microsoft-windows-winhstb.resources_31bf3856ad364e35_6.3.9600.20470_de-de_1ab8cd412c1028d0
    
  6. 在这里我们会找到“winhlp32.exe.mui”。现在我们需要用我们的新文件替换例如 %SystemRoot%\de-de\winhlp32.exe.mui:

    takeown /f "%SystemRoot%\de-de\winhlp32.exe.mui"
    icacls "%SystemRoot%\de-de\winhlp32.exe.mui" /grant "%UserName%":f
    ren %SystemRoot%\de-de\winhlp32.exe.mui winhlp32.exe.mui.w10
    copy winhlp32.exe.mui %SystemRoot%\de-de\winhlp32.exe.mui 
    takeown /f "%SystemRoot%\winhlp32.exe"
    icacls "%SystemRoot%\winhlp32.exe" /grant "%UserName%":f
    ren %SystemRoot%\winhlp32.exe winhlp32.exe.w10
    cd ..
    dir *.exe /s
    
  7. 找到以 amd64 或 x86 开头的正确路径并导航到它:

    cd "amd64_microsoft-windows-winhstb_31bf3856ad364e35_6.3.9600.20470_none_1a54d9f2f676f6c2"
    copy winhlp32.exe %SystemRoot%\winhlp32.exe 
    

编辑:

您不需要_none_在最后一个cd命令步骤中进行替换(所有单个步骤都在 2017-09-01 和 2018-08-24 测试并在 Windows 10 上运行)。

在主要的 Microsoft Windows 更新后,上述解决方法会被重置。

编辑:(复制表单评论,感谢@dxiv)

最后几个步骤的替代方法是将 winHlp32 文件完全复制到其他位置,例如 C:\etc[\de-de],然后在提升的命令提示符处重新关联 ftype hlpfile=C:\etc\winHlp32 %1。这避免了与 sfc 和未来 Windows 更新的冲突,并且 HLP 在通过关联打开时仍然可以工作(在资源管理器中双击,或在 cmd 提示符下启动 old.hlp)。

于 2017-04-26T19:33:19.967 回答
3

好吧,经过长时间的搜索,我的结论是:.HLP文件不能在Windows 8和10中执行,只能在Windows 7及更低版本中执行。.CHM 文件可以由 Windows 8 和 Windows 10 执行。所以,我必须在 Windows 10 的 Help Development Studio 中创建我的新 .chm 文件才能由它执行。我的旧文件 .HLP 已经过时了。这样做花了很多时间,但我对这种类型的文件了解很多。最后,感谢您对我的问题的贡献。

于 2019-09-10T14:44:08.517 回答
0

您可以使用 Chrome 扩展程序将 HLP 转换为 HTML:<< CHM, HLP Viewer and Extractor >> 建议:https ://ehubsoft.herokuapp.com/chmviewer

于 2020-08-22T23:26:36.393 回答
0

先生,您是英雄!我最终使用了HelpScribble并使用了此处链接的反编译器。

引用他们的网站:

如果您有一个没有 HPJ 和 RTF 源文件的现有 WinHelp 文件,您可以下载 WinHelp 反编译器以从 HLP 文件重新创建 HPJ 和 RTF 源。将 helpdc21.zip 中的文件解压缩到一个新文件夹中。然后,您可以在命令提示符下轻松地反编译任何 .hlp 文件,只需键入:helpdeco helpfile.hlp其中 helpfile.hlp 是您要反编译的帮助文件。如果帮助文件包含图像,反编译器将生成 HPJ 和 RTF 文件以及一系列位图文件。使用 HelpScribble 中的 Project|Import Help Project 来导入帮助文件。

这将提取文件的源hlp文件。

最后,只需将生成的hpj文件导入 HelpScribble。从那里您可以使用Make Flat Manual选项简单地导出到 html 文件。

繁荣。完毕。

于 2020-11-14T11:10:57.783 回答