软件应用 · 2022年8月30日

打开基于 Windows 的程序中的“帮助”时出错:“不包括该功能”或“帮助不受支持”

Windows Server 2012 R2 Datacenter Windows Server 2012 R2 Essentials More…

Windows 帮助程序在 Windows 10、Windows Server 2012 或更高版本的 Windows Server 中不受支持。 Windows 帮助程序仅适用于 Windows Vista、Windows 7、Windows 8 和 Windows 8.1。

Microsoft 强烈建议软件开发人员停止使用 Windows 帮助应用程序。 对于提供依赖 .hlp 文件的程序的软件开发人员,我们鼓励他们将其帮助体验转换为其他帮助文件格式,例如 CHM、HTML 或 XML。 有关详细信息,请参阅 MSDN 文章我需要哪个版本的帮助? 在 Microsoft 开发未来的帮助技术时,我们鼓励帮助作者继续使用 HTML 帮助 1.4。 从 Windows 7 开始,HTML Help 1.4 包含在 Windows 版本中。

症状

尝试在基于 Windows 的程序中打开“帮助”时,你会收到下列错误消息之一。 

此程序的“帮助”是采用以前版本的 Windows 中使用的 Windows 帮助格式创建的,在 Windows Vista 中不支持这种格式。 

此程序的“帮助”是采用 Windows 帮助格式创建的,具体取决于此版本的 Windows 中未包含的功能。 但是,你可以下载一个允许你查看采用 Windows 帮助格式创建的帮助的程序。 

此程序的”帮助”是使用Windows格式创建的,该格式依赖于此版本的”帮助”Windows。 有关更多信息,请访问“Microsoft 帮助和支持”网站。

解决方案

要在 Windows 中查看具有 .hlp 文件扩展名的 32 位帮助文件,需要从 Microsoft 下载中心下载并安装 WinHlp32.exe。

下载此程序的重要注意事项

  • 使用 Internet Explorer 打开链接。
  • 如果在打开下载页面时看到“需要验证”消息,请单击“继续”,然后按照屏幕上的说明操作。
  • 当系统提示下载文件时,请选择包含 64 位版本 Windows 的”x64″的文件名,或针对 32 位版本的 Windows 选择”x86″。 请使用以下自动检测信息进行选择。
  • Windows 帮助程序在 Windows Server 2012 或更高版本的 Windows Server 中不受支持。

如果在安装应用或使用帮助WinHlp32.exe时遇到问题,请转到”详细信息”部分。

适用于高级用户的更多信息

当 Windows 帮助使用较早版本的 Windows 帮助程序 (WinHlp32.exe) 显示内容时出现此问题。

安装 WinHlp32.exe 时可能会出现的已知问题

Windows 更新错误 80070422

手动修复此问题

如果在下载 WinHlp32.exe 更新时收到 Windows 更新错误 80070422,则可能必须更改 Windows 更新服务设置,然后重新启动服务。 为此,请按照下列步骤操作:

  1. 单击 “开始“,在”开始搜索 “或” 搜索程序和文件”文本框 中键入 “服务”。
  2. 双击程序列表中的“服务”。 如果系统提示您输入管理员密码或进行确认,请键入密码或进行确认。
  3. 右键单击“Windows 更新”服务,然后单击“属性”。
  4. 在“常规”选项卡上,确保选择了“启动类型”旁边的“自动”。
  5. 在“服务状态”的旁边检查该服务是否已启动。 如果没有启动,请单击“启动”。 如果系统提示您输入管理员密码或进行确认,请键入密码或进行确认。
  6. 单击“确定”。

安装 WinHlp32.exe 后可能会出现的已知问题

下面的列表显示了与 WinHlp32.exe 早期版本相比已知的功能衰退情况。 下列已知问题仅出现在本文讨论的 WinHlp32.exe 版本中。

  • 宏已禁用

    默认情况下,以下宏在”帮助”Windows禁用:
    • ExecFile
    • RegisterRoutine
    • ShellExecute
    • ShortCut
    • Generate
    • Test
    • ExecProgram
    但是,.hlp 文件中的所有其他宏仍可以像在过去的版本中一样运行。 因此,安装用于 Windows Vista、Windows 7、Windows Server 2008 或 Windows Server 2008 R2 的 Windows 帮助后,如果打开依赖这些宏的 .hlp 文件,该文件的某些功能可能无法正常运行。 发生这种情况时,你可能会收到以下错误消息:运行宏时出错。 (1037)如果需要使用这些宏,则可以启用它们,方法是使用组策略替代方法或注册表替代方法,如“用于网络管理员的注册表项和组策略”部分中所述。
  • 无法访问 Intranet 网站上存储的 .hlp 文件

    默认情况下,不能使用 WinHlp32.exe访问 Intranet 网站上存储的 .hlp 文件。 如果尝试打开远程文件,将收到以下错误消息:无法显示该帮助文件。 请再次打开该文件,如果仍收到此消息,请将它复制到别的驱动器,再试一次。如果需要访问存储在 Intranet 站点上的 .hlp 文件,则可以取消阻止这些文件,方法是使用组策略替代方法或注册表替代方法,如“用于网络管理员的注册表项和组策略”部分中所述。
  • 阻止非交互用户访问

    非交互用户(例如系统进程)已阻止访问 .hlp 文件。 发生此错误时,用户不会收到错误消息。
  • 拖放功能已禁用

    已禁用对应用程序中的拖放功能的支持。 发生此错误时,用户不会收到错误消息。
  • “如何使用帮助”文件的依赖关系

    标题为”如何使用帮助”的帮助文件已从 Vista Windows Server 2008 Windows中删除。 已删除以下文件:
    • Windows.hlp
    • Winhlp32.hlp
    • Winhlp32.cnt
    • Winhelp.cnt
    • Nocntnt.cnt
    注意
    • 这些文件未包含在 Windows 7 或 Windows Server 2008 R2 中。
    • 当您尝试打开依赖这些文件的 .hlp 文件时,可能会返回错误。

如何解决 WinHlp32.exe 相关的兼容性问题

可以使用该WinHlp32.exe查看 32 位帮助文件。 此版本提供组策略设置和注册表子项,可用于解决应用程序兼容性问题。 例如,组策略设置和注册表子项可用于解决与 .hlp 文件中宏相关的问题,以及访问 Intranet 网站上存储的 .hlp 文件。 但是,如果用户从未知源查看帮助文件,则如果启用这些策略或这些设置,计算机将面临更多风险。 因此,在决定是否实施本部分所述的应用程序兼容性解决方法时,应谨慎操作。

使用以下问题确定是否要安装WinHlp32.exe,以及要更改的策略和注册表更改。

  • 是否必须使用因删除 WinHlp32.exe 而受到影响的应用程序和功能?
    • 有多少应用程序需要使用 WinHlp32.exe? 有多少应用程序受这些功能更改的影响? 这些应用程序的重要程度如何?
    • 这些更改导致的故障的严重程度如何?
  • 您具有哪些安全要求和安全功能?
    • 哪个更重要: 是能够使用 WinHlp32.exe 功能,还是确保安全性得到尽量增强?
    • 外部安全措施(例如本地或企业防火墙)是否可以令你放心地安装 WinHlp32.exe 并进行本文介绍的策略更改或注册表更改?
  • 如果您是公司职员,贵公司是否提供 .hlp 格式的内容?
    • 是否可以对程序或内容进行修改,以使它们不必使用 WinHlp32.exe 功能? 例如,是否可以将当前采用 .hlp 格式的帮助内容转换为 .chm、.html 或 .xml 等其他文件格式?
    • 你的组织是否将 .hlp 文件存储在 Intranet 站点上? 是否可以改为本地安装这些文件?

安装 WinHlp32.exe 后,如何在某台计算机上启用宏

在安装本文中讨论的 WinHelp32.exe 程序后,某些宏将被禁用。 有关此问题详细信息,请参阅”已知问题“部分。

本部分包含通过修改注册表项重新启用这些宏的步骤。 本文包含通过修改注册表项来取消阻止这些 .hlp 文件的步骤。 如果你的计算机处于托管环境中,在未事先咨询 IT 部门的情况下,请不要按照这些步骤执行操作。 IT 部门可能决定不重新启用宏,或者他们决定通过使用组策略来重新启用宏。

警告本文提供有关如何处理此版本的”帮助”中更改Windows的信息。 但是,Microsoft 并不就哪些注册表项和值适合您的环境提供具体建议。 如果您处于托管环境中,则您的 IT 部门可以对这些替代方法的优点以及使用它们的风险作出最佳判断。 比较安全的方法是根本不使用注册表替代方法。

注意 若要执行此任务中的步骤,必须使用管理员帐户登录到计算机。 通过使用管理员帐户,您可以对无法使用任何其他帐户(例如标准帐户)进行的计算机进行更改。

若要使用管理员帐户登录,必须知道计算机上管理员帐户的密码。 如果要在个人计算机上执行这些步骤,则可能已经使用管理员帐户登录。 如果要在工作计算机上执行这些步骤,则可能需要系统管理员提供帮助。

在某台计算机上手动启用宏

重要
请仔细执行本部分中的步骤。 如果注册表修改不正确,可能会出现严重问题。 在修改注册表 之前,请备份注册表,以防 出现问题。

若要在安装宏后在单个计算机上启用WinHelp32.exe,请执行以下步骤:

  1. 使用管理员帐户登录。
  2. 按徽标Windows + R,键入 regedit,然后单击”确定“。
    "通知"图标 系统提示输入 administratorpassword 或进行确认,请键入密码,或单击”继续“。
  3. 在 32 位版本的 Windows 上,找到并选择以下注册表子项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
    在 64 位版本的注册表Windows,找到并选择以下注册表子项:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft
  4. 在“编辑”菜单上,指向“新建”,然后单击“项”。
  5. 键入 WinHelp,然后按 Enter。
  6. 单击“WinHelp”项。
  7. 在“编辑”菜单上,指向“新建”,然后单击“DWORD (32 位)值”。
  8. 键入 AllowProgrammaticMacros,然后按 Enter。
  9. 在“编辑”菜单上,单击“修改”。
  10. 在”值数据”框中,键入 1,单击”基本”区域中的”六进制”,然后单击”确定“。
  11. 退出注册表编辑器。

在安装 WinHlp32.exe 后,如何在某台计算机上取消阻止存储在 Internet 上的 .hlp 文件

在安装本文中讨论的 WinHelp32.exe 文件后,在 Intranet 站点上存储的 .hlp 文件将被阻止。 有关此问题详细信息,请参阅”已知问题“部分。

本文包含通过修改注册表项取消阻止这些 .hlp 文件的步骤。 本文包含通过修改注册表项来取消阻止这些 .hlp 文件的步骤。 如果您的计算机处于托管环境中,在咨询您的 IT 部门前,请不要按照这些步骤操作。

重要 本文包含的信息演示如何帮助降低安全设置或如何关闭计算机的安全功能。 你可以进行这些更改来解决特定问题。 在做出这些更改之前,建议评估与在你的特定环境中实施此解决方法相关的风险。 如果你实施此解决方法,请执行任何其他适当的步骤来帮助保护计算机。

警告本文提供有关如何处理此版本的”帮助”中更改Windows的信息。 但是,Microsoft 并不就哪些注册表项和值适合您的环境提供具体建议。 如果您处于托管环境中,则您的 IT 部门可以对这些替代方法的优点以及使用它们的风险作出最佳判断。 比较安全的方法是根本不使用注册表替代方法。

注意 若要执行此任务中的步骤,必须使用管理员帐户登录到计算机。 通过使用管理员帐户,您可以对无法使用任何其他帐户(例如标准帐户)进行的计算机进行更改。

若要使用 管理员帐户登录,必须知道计算机上管理员帐户的密码。 如果你正在个人计算机上执行这些步骤,则可能已经使用管理员帐户登录。 如果您要在工作计算机上执行这些步骤,则可能需要系统管理员提供帮助。

手动取消阻止某台计算机上存储在 Intranet 上的 .hlp 文件

重要
请仔细执行本部分中的步骤。 如果注册表修改不正确,可能会出现严重问题。 在修改注册表 之前,请备份注册表,以防 出现问题。

若要在安装 .hlp 文件后取消阻止WinHelp32.exe,请执行以下步骤:

  1. 使用管理员帐户登录。
  2. 按徽标Windows + R,键入 regedit,然后单击”确定“。
    "通知"图标 系统提示输入 administratorpassword 或进行确认,请键入密码,或单击”继续“。
  3. 在 32 位版本的 Windows 上,找到并选择以下注册表子项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
    在 64 位版本的注册表Windows,找到并选择以下注册表子项:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft
  4. 在“编辑”菜单上,指向“新建”,然后单击“项”。
  5. 键入 WinHelp,然后按 Enter。
  6. 单击“WinHelp”项。
  7. 在“编辑”菜单上,指向“新建”,然后单击“DWORD (32 位)值”。
  8. 键入 AllowIntranetAccess,然后按 Enter。
  9. 在“编辑”菜单上,单击“修改”。
  10. 在”值数据”框中,键入 1,单击”基本”区域中的”六进制”,然后单击”确定“。
  11. 退出注册表编辑器。

针对网络管理员的注册表项和组策略

警告 此解决方法可能会导致你的计算机或网络更易受到恶意用户或恶意软件(例如病毒)的攻击。 我们不建议你采用这种解决方法。 我们不建议采用此解决方法,但提供此信息,以便你可以自行实施此解决方法。 使用此方法需要你自担风险。

警告本文提供有关如何处理此版本的”帮助”中更改Windows的信息。 但是,Microsoft 不针对组织的注册表项和值做出具体的建议。 IT 部门是判断如何权衡这些解决方法的优点与使用这些解决方法的风险的最佳判断者。 比较安全的方法是根本不使用注册表替代方法。

此WinHlp32.exe提供了组策略设置和注册表项,用于解决此版本中的两个已知问题Windows帮助。 通过使用以下组策略设置或注册表项,网络管理员和单个用户可以重新启用宏,并取消阻止存储在 Intranet 网站上.hlp 文件。 提供了本地计算机组策略设置和当前用户组策略设置,作为每项功能的解决方案。 也可使用用户注册表设置来管理每项功能。

对于每个功能,按以下顺序提供优先顺序:

  • 本地计算机组策略
  • 当前用户组策略
  • 用户注册表设置

如果尚未为功能设置策略,并且尚未设置该功能的用户注册表设置,则功能的行为将如”已知问题”部分中所述。

重要 此部分、方法或任务包含用于告知如何修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请一定严格按照下列步骤操作。 为了获得进一步的保护,请在修改注册表之前对其进行备份。 这样就可以在出现问题时还原注册表。 有关如何备份和还原注册表的更多信息,请单击下面的文章编号查看 Microsoft 知识库中相应的文章:

322756 如何在 Windows 中备份和还原注册表

  • 如何启用宏

    网络管理员可以使用”允许组策略中的WinHlp32.exe宏”设置来打开或关闭 .hlp 文件的宏。 有关组策略的更多信息,请参见“参考”部分。 有关组策略详细信息,请参阅”引用”部分。

    如果尚未设置此功能的本地计算机组策略和当前用户组策略,用户可以修改此功能的用户注册表设置,以打开或关闭 .hlp 文件的宏。 要更改此设置,用户必须先向注册表中添加下面的新子项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WinHelp 接下来,用户必须向此子项中添加一个名为 AllowProgrammaticMacros 的 DWORD 值。 如果将 AllowProgrammaticMacros 的值设置为 1,则将启用宏。 如果将该值设置为 0,则将禁用宏。 如果此注册表值不存在,也将禁用宏。
  • 如何取消阻止存储在 Intranet 上的 .hlp 文件

    网络管理员可以使用”允许WinHlp32.exe访问 Intranet 网站上存储的.hlp文件组策略”设置来取消阻止存储在 Intranet 上的 .hlp 文件。 有关组策略的更多信息,请参阅“参考”部分。 有关组策略详细信息,请参阅”引用”部分。

    如果尚未设置此功能的组策略设置,用户可以修改此功能的用户注册表设置,以阻止或取消阻止存储在 Intranet 网站上 .hlp 文件。 要更改此设置,用户必须先向注册表中添加下面的新子项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WinHelp 接下来,用户必须向此子项中添加一个名为 AllowIntranetAccess 的 DWORD 值。 如果将 AllowIntranetAccess 的值设置为 1,将可以访问存储在 Intranet 站点上的 .hlp 文件。 如果将该值设置为 0,将阻止存储在 Intranet 站点上的 .hlp 文件。 如果此注册表值不存在,也将阻止存储在 Intranet 站点上的 .hlp 文件。

发布 .hlp 文件的帮助内容提供商

从 vista Windows开始,旧版帮助 (WinHlp32.exe) 组件将替换为新的帮助组件,该组件为较新版本的 Windows。

将来的WinHlp32.exe版本将不支持当前形式的 Windows 技术。 因此,我们强烈建议软件开发人员不再使用此Windows程序。 鼓励发布依赖于 .hlp 文件的程序的软件开发人员将他们的帮助系统转换为备用帮助文件格式,例如 .chm、.html 或 .xml。 他们还必须更改从 WinHelp API 到新内容源的调用。 可以使用多个第三方工具帮助软件开发人员将帮助内容从一种格式转换为另一种格式。

请注意Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2 仍包含 16 位 .hlp 文件的 WinHelp.exe。 WinHelp.exe程序是适用于 16 Windows .hlp 文件的一个帮助版本。

参考

组策略集合

组策略对象编辑器

核心组策略工具和设置

原文地址:https://support.microsoft.com/zh-cn/topic/%E6%89%93%E5%BC%80%E5%9F%BA%E4%BA%8E-windows-%E7%9A%84%E7%A8%8B%E5%BA%8F%E4%B8%AD%E7%9A%84-%E5%B8%AE%E5%8A%A9-%E6%97%B6%E5%87%BA%E9%94%99-%E4%B8%8D%E5%8C%85%E6%8B%AC%E8%AF%A5%E5%8A%9F%E8%83%BD-%E6%88%96-%E5%B8%AE%E5%8A%A9%E4%B8%8D%E5%8F%97%E6%94%AF%E6%8C%81-3c841463-d67c-6062-0ee7-1a149da3973b