一个免安装、单文件的 Windows 小工具,把打印机的真实状态主动推送到你的桌面通知。两条互补路线:一条治本(启用端口 SNMP,让系统原生显示),一条兜底(常驻哨兵轮询 IPP,异常立刻弹通知)。 A portable, single-file Windows utility that pushes real printer status to your desktop. Two complementary routes: fix it at the source (enable port SNMP so Windows shows status natively), and fall back to a resident sentinel that polls IPP and fires a notification on any anomaly.
打印机卡纸、缺纸时,Windows 默认经常毫无提示——打印任务悄悄卡住,你走到打印机前才发现。这台机器上我们实测过:那台 Pantum 的 Windows 原生两条状态通道(SNMP、WSD)都用不了,DetectedErrorState 恒为 0。本工具不依赖它们,直接自己问打印机。
When a printer jams or runs out of paper, Windows often says nothing — jobs stall silently and you only discover it by walking over. On the very machine this was built for, both native Windows status channels (SNMP and WSD) were unusable and DetectedErrorState stayed 0. This tool asks the printer directly instead.
路线 A 让系统自己能显示状态;路线 B 在系统看不到的时候,依然主动告诉你。 Route A makes Windows itself show the status; Route B keeps telling you even when the OS cannot see it.
给打印机的「标准 TCP/IP 端口」打开 SNMP 并重启后台打印服务。开启后,Windows 原生就能在设备和打印机里显示缺纸 / 缺墨,无需任何第三方软件常驻。Turn on SNMP for the printer's Standard TCP/IP Port and restart the Print Spooler. Windows then shows paper / toner status natively in Devices and Printers — nothing needs to stay resident.
常驻托盘(可开机自启),定时向打印机 631 端口发 IPP 请求,解析 printer-state-reasons;同时读取 SNMP 错误位做交叉确认,两路合并后判定严重度。Stays in the tray (optional auto-start) and periodically sends IPP requests to port 631, parsing printer-state-reasons; it also reads SNMP error bits as a cross-check, then merges both channels to decide severity.
不止是"能弹通知"——真正花力气的是让它不误报、不漏报、不刷屏。 Not just "it can notify" — the hard part was making it not false-alarm, not miss events, and not spam you.
扫描、打印、休眠唤醒会让打印机短暂不响应。异常立即上报并去重;而「离线」与「已恢复」都要求连续 3 次轮询稳定才通知。所以每扫一次文件就刷一串"恢复正常"的日子结束了。Scanning, printing and sleep make the printer briefly unreachable. Anomalies fire instantly (and are de-duplicated), while "offline" and "recovered" each require 3 consecutive stable polls. No more floods of "recovered" after every scan.
IPP 与 SNMP 结果合并判定:任一通道报卡纸 / 缺纸 / 耗材相关位即判 Critical,其余告警判 Warning。既不漏报,也不会两条线路各弹一次。IPP and SNMP results are merged: a jam / empty paper / supply bit from either channel is Critical, other alerts are Warning. Nothing is missed and nothing is double-reported.
media-jam / paper-jam 映射为「卡纸」并判 Critical,走最高级别通知。厂商自定义 SNMP 位也不会被丢掉,会按 Warning 浮出。media-jam / paper-jam map to "jam" at Critical severity for highest-priority alerts. Vendor-specific SNMP bits are never dropped either — they surface as Warning.
记录工具与打印机的每一次交互:IPP 原始原因、SNMP 原始位域、合并结果、通知触发。支持 全部 / Info / Warning / Error 等级筛选,可清空、可打开日志目录。Records every interaction: raw IPP reasons, raw SNMP bit fields, the merged verdict, and notification triggers. Filter by All / Info / Warning / Error, clear, or open the log folder.
无需界面即可验证核心逻辑:PrinterStatusGuard.exe -SelfTest,26 个用例覆盖 IPP 解析、SNMP 位域解码、双通道合并、迟滞防抖、注册表路径构造与深度体检全流程。Verify the core logic headlessly with PrinterStatusGuard.exe -SelfTest — 26 cases covering IPP parsing, SNMP bit-field decoding, channel merging, hysteresis, registry path construction and a full deep-checkup run.
原独立工具 WinPrintDiag 已并入本程序:一键只读扫描打印服务、崩溃历史、组件签名、打印机-驱动配对(重复条目/错配判定)、队列堆积与审计日志,产出可另存的诊断报告;管理员可一键从组件存储还原被替换的组件。WinPrintDiag is now built in: a one-click read-only scan of the whole print subsystem — Spooler state, spoolsv crash history, binary signature integrity, printer/driver pairing (duplicates & mismatches), queue backlog and audit-log status. Admin can restore suspect binaries from WinSxS. The standalone winprintdiag repo is archived.
单个 exe,放到任意目录双击即用;不写系统目录(除可选的开机自启注册表项),配置落在 %APPDATA%,卸载就是删文件。IPP 与 SNMP 客户端均为纯 .NET 实现。A single exe you can drop anywhere and double-click. It writes nothing to system folders (except an optional auto-start entry), keeps config in %APPDATA%, and uninstalling means deleting the file. The IPP and SNMP clients are pure .NET.
.cmd 启动器,它会优先找 exe)。
Download the exe and run it (or run the .cmd launcher, which prefers the exe).
http://<打印机IP>:631 能通说明 IPP 可用。
📌 To confirm the channel manually: if http://<printer-IP>:631 opens in a browser, IPP is available.
免安装、MIT 许可、开源。下载单个 exe 即可使用。 Portable, MIT-licensed and open source. Download a single exe and go.