在安装了 HP 打印机的 Windows Server 计算机上,打印机后台打印程序可能会随机崩溃

本文讨论打印机后台打印程序在安装了 HP 打印机的 Windows 服务器计算机上随机崩溃的问题。

原始产品版本:  Windows Server 2012 R2
原始 KB 数:  947477

症状

在安装了 HP 打印机的基于 Windows Server 的计算机上,打印机后台打印程序可能会随机崩溃。

原因

出现此问题的原因是以下文件之一:

  • Hpbmmon.dll (HP 主监视器)
  • Hpzpi4wm.dll (HP 打印处理器)
  • Hpzpp4wm.dll (HP 打印处理器)
  • HPtcpMon.dll (HP TCP 端口监视器)

解决方案

若要解决此问题,请联系第三方制造商获取帮助。

解决方法

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 322756 如何在 Windows 中备份和还原注册表

由 Hpbmmon.dll 文件导致的问题的解决方法

若要解决此问题,请删除 HP 主监视器。 为此,请按照下列步骤操作:

  1. 启动注册表编辑器。

  2. 找到并单击以下注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\HP Master Monitor

  3. 在 " 文件 " 菜单上,单击 " 导出"。

  4. 在 " 文件名 " 框中,键入 HPprinter,然后单击 " 保存"。

    备注

    如果要还原此注册表子项,请双击您在此步骤中保存的 HPprinter 文件。

  5. 右键单击 " HP 主监视器 " 注册表项,然后单击 " 删除"。

  6. 单击“是”****。

  7. 退出注册表编辑器,再重启计算机。

  8. 将 Hpbmmon.dll 文件重命名为 "Hpbmmon"。 文件位于以下位置: C:\WINDOWS\system32\Hpbmmon.dll 文件

由 Hpzpi4wm.dll 文件或 Hpzpp4wm.dll 文件导致的问题的解决方法

备注

如果此打印机无法与 WinPrint 一起使用,则以下步骤可能不起作用。 如果出现这种情况,请与 HP 联系以将 HPZPP4WM 打印处理器升级到新版本。

  1. 单击“开始”,然后单击“控制面板”

  2. 双击 " 打印机和传真"。

  3. 右键单击要使用的打印机,然后单击 " 属性"。

  4. 单击 " 高级 " 选项卡,然后单击 " 打印处理器"。

  5. 单击 "打印处理器" 框中的 " WinPrint ",单击 "默认数据类型" 框中的 "原始",然后单击 "确定" 两次。

  6. 将 Hpzpi4wm.dll 文件重命名为 "Hpzpi4wm"。 文件位于以下位置: C:\WINDOWS\system32\spool\drivers\w32x86\3\Hpzpi4wm.dll

  7. 将 Hpzpp4wm.dll 文件重命名为 "Hpzpp4wm"。 文件位于以下位置: C:\WINDOWS\system32\spool\PRTPROCS\W32X86\Hpzpp4wm.dll

由 HPtcpMon.dll 文件导致的问题的解决方法

  1. 启动注册表编辑器。

  2. 找到并单击以下注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\HP Standard TCP/IP Port

  3. 在 " 文件 " 菜单上,单击 " 导出"。

  4. 在 " 文件名 " 框中,键入 HPprinter,然后单击 " 保存"。

    备注

    如果要还原此注册表子项,请双击您在此步骤中保存的 HPprinter 文件。

  5. 右键单击 " HP STANDARD Tcp/ip 端口 " 注册表项,然后单击 " 删除"。

  6. 单击“是”****。

  7. 找到并单击以下注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port

  8. 双击 " 驱动程序",然后验证 " 值数据 " 框的值是否 tcpmon.dll

    备注

    如果驱动程序注册表项不存在或其值不 tcpmon.dll,请创建驱动程序注册表项,然后将其值设置为 tcpmon.dll。 为此,请按照下列步骤操作:

    1. 在 " 编辑 " 菜单上,指向 " 新建",然后单击 " 字符串值"。
    2. 键入驱动程序,然后按 ENTER。
    3. 右键单击 " 驱动程序",然后单击 " 修改"。
    4. 在 " 数值数据 " 框中,键入 tcpmon.dll,然后单击 "确定"
  9. 退出注册表编辑器,再重启计算机。

  10. 将 HPtcpMon.dll 文件重命名为 "HPtcpMon"。 文件位于以下位置: C:\WINDOWS\system32\HPTcpMon.dll

更多信息

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。

有关如何解决 Windows 2000 和 Windows Server 2003 中的打印问题的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

260142 如何解决 windows 2000 和 windows Server 2003 中的打印问题