如何将HLP文件转换为CHM文件

Cri*_*lla 11 chm helpfile winhelp windows-10

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

为了您的帮助,谢谢!

hel*_*.de 21

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

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

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

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

您当然可以使用Helpauthoring工具(HAT),如Help + Manual,HelpScribble或任何其他HAT将现有的WinHelp项目转换为HTMLHelp.

在Windows 10上运行WinHelp:

WinHelp(.hlp)格式自20世纪90年代初期就已存在,并被HTML Help 1.x(.chm)取代.微软强烈建议你在十年前离开WinHelp.但对于测试应用程序,它在我的Windows10机器上运行就像一个魅力.

在此输入图像描述

但是修复过去的WinHelp Viewer的一些重要步骤.请注意我在这里没有提到*.chm帮助文件的HTMLHelp Viewer.

解决方案步骤取决于您的Windows 10版本(32位或64位).要找出您的系统类型(32位或64位),请按住Windows+ R.键入msinfo32出现的"运行"对话框,然后按Enter键.

您知道,尝试在Microsoft支持页面上打开帮助文件(*.hlp).在基于Windows的程序中打开帮助时出错:"未包含功能"或"不支持帮助".

您将找到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. 在其中提取包含279个文件的CAB文件.

    cd msu-extracted

    md cab-extracted

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

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

    cd cab-extracted

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

    cd amd64_microsoft-windows-winhstb.resources_31bf3856ad364e35_6.3.9600.20470_de-de_1ab8cd412c1028d0
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)
  7. 找到从amd64或x86开始的正确路径并导航到它:

    cd "amd64_microsoft-windows-winhstb_31bf3856ad364e35_6.3.9600.20470_none_1a54d9f2f676f6c2"
    copy winhlp32.exe %SystemRoot%\winhlp32.exe 
    
    Run Code Online (Sandbox Code Playgroud)

编辑:

您无需_none_在最后一个cd命令步骤中进行替换(所有单个步骤都经过测试2017-09-01和2018-08-24以及在Windows 10上运行).

主Microsoft Windows更新后,上述解决方法重置.

  • @sp00n “.mui” 文件进入以语言环境命名的子目录,例如在我的例子中为“en-us”。运行exe就足够了,在Win7和Win10下验证过。要通过关联打开帮助文件,您还需要将“.hlp”文件与“winHlp32”实例关联。 (2认同)

Cri*_*lla 0

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

  • 两年多前,我已经在上面推荐过“将 WinHelp (HLP) 转换为 HTMLHelp (CHM)”和“微软强烈建议您在大约十年前放弃 WinHelp”。并且对于特殊的测试用例还有Windows10下使用的额外提示。所以我不明白为什么你的评论现在就是答案。我认为这确实是一个评论。 (2认同)
  • 这是解决问题的唯一方法。我没有任何权限使用命令提示符编辑这些文件,我的公司不允许这样做。因此,我针对这个特定问题提出了这个解决方案。 (2认同)