HP打印机驱动Tcp监控接口HpTcpMon.dll崩溃问题

故障现象

win11用HP官方驱动网络连接HP LaserJet m128 p1020等打印机

时不时提示打印服务Print Spool未运行,手动开启服务后可以正常打印,但大概几天内又会停止。

288159b7d9030ed3d66887345b97a94

查看事件管理器得到报错信息

错误应用程序名称: spoolsv.exe,版本: 10.0.22621.6133,时间戳: 0xbddbf451
错误模块名称: HpTcpMon.dll,版本: 7.2.5.51,时间戳: 0x4ab0e4d3
异常代码: 0xc0000005
错误偏移量: 0x000000000001c62c
错误进程 ID: 0x0x1190
错误应用程序启动时间: 0x0x1DCDE9AB1A622FA
错误应用程序路径: C:\Windows\System32\spoolsv.exe
错误模块路径: C:\Windows\System32\HpTcpMon.dll
报告 ID: b7f0bdbd-7ff0-428c-8bef-aa7e8fe6adfc
错误程序包全名: 
错误程序包相对应用程序 ID:

HpTcpMon.dll介绍

核心概念:什么是 Port Monitor?

在 Windows 中,打印机不能直接把数据扔给网络网卡或 USB 接口,它必须通过一个叫做 Print Spooler(打印后台处理程序) 的核心服务。而 Spooler 并不懂得底层硬件的通信协议(它不懂什么是 TCP/IP,也不懂什么是 USB 信号)。

Port Monitor(端口监视器) 就是连接 Spooler 和底层物理接口的“翻译官”兼“快递员”。

  • 它的职责: 打开端口、配置端口、将打印数据流(RAW/LPR 等)传输给打印机、管理双向通信(如获取打印机墨水状态、纸张耗尽错误等)。

关系对比

Windows 允许不同的硬件厂商编写自己的 Port Monitor 来扩展打印功能。

端口监视器 (Port Monitor) 对应的物理/网络端口 (Port Type) 说明
tcpmon.dll 标准 TCP/IP 端口 (Standard TCP/IP Port) Windows 自带,通用的网络打印监视器。
HpTcpMon.dll HP Standard Network Port HP 专用的网络监视器。
usbmon.dll USB 端口 (USB001, USB002) 负责本地 USB 连接的打印机。
localspl.dll 本地端口 (LPT1, COM1, FILE) 负责传统并口、串口或打印到文件。

解决方法:将HP Standard Port换为Standard TCP/IP Port

C:\Windows\System32 目录下,将HpTcpMon.dll重命名为HpTcpMon.dll.bak

按win+r,输入regedit运行注册表编辑器,并且定位到

计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\HP Standard TCP/IP Port

Driver的值从HpTcpMon.dll改为TcpMon.dll

重启电脑后,测试打印成功。并且在控制面板-硬件和声音-设备和打印机-打印服务器属性中查看打印机端口,可见已经改为系统自带的标准 TCP/IP 端口

image-20260604120634905
Built with Hugo
Theme Stack designed by Jimmy