问题源于Print Spooler服务异常,修复方法包括:一、设为自动启动并启用;二、管理员命令行清空队列重启;三、确保RPC与DCOM依赖服务运行;四、修正注册表DependOnService为RPCSS;五、运行sfc /scannow修复系统文件;六、PowerShell重置打印子系统。

如果您尝试执行打印操作,但系统提示“打印后台处理程序服务未运行”或打印任务始终处于挂起状态,则问题极可能源于Print Spooler服务异常停止、依赖项缺失、队列阻塞或系统组件损坏。以下是多种独立有效的修复方法:
一、启动并设置Print Spooler服务为自动运行
Print Spooler是Windows管理打印任务调度的核心服务;若其启动类型被设为“手动”或“禁用”,或服务本身未运行,将直接导致添加打印机失败、文档无法提交至队列。将其设为自动启动并手动启用,可恢复基础服务响应能力。
1、按下Win + R组合键,打开“运行”对话框。
2、输入services.msc并按回车,进入本地服务管理界面。
3、在服务列表中找到Print Spooler,双击打开其属性窗口。
4、在“常规”选项卡下,将“启动类型”下拉菜单设置为自动。
5、点击启动按钮,等待状态栏显示“服务状态:正在运行”。
6、点击确定保存设置,关闭窗口。
二、使用管理员命令提示符强制重启并清空打印队列
当Print Spooler服务反复停止、响应迟缓或存在损坏的.SHD/.SPL作业文件时,仅启动服务无法解除阻塞。需通过命令行彻底停止服务、强制删除缓存文件、再重新启动,以清除挂起任务与进程残留。
1、右键点击“开始”按钮,选择Windows 终端(管理员)或命令提示符(管理员)。
2、依次执行以下命令,每条命令后按回车:
net stop spooler
del /f /q %systemroot%\System32\spool\PRINTERS\*.*
net start spooler
三、检查并确保关键依赖服务正常运行
Print Spooler服务必须依赖Remote Procedure Call (RPC)和DCOM Server Process Launcher才能初始化;若任一依赖项状态为“已停止”或启动类型非“自动”,Spooler将无法加载或启动后立即终止。
1、在已打开的services.msc窗口中,查找以下两项服务:
Remote Procedure Call (RPC)
DCOM Server Process Launcher
2、确认其“状态”列为正在运行,“启动类型”为自动。
3、如发现任一服务未运行,右键选择启动;完成后返回重启Print Spooler服务。
四、修正注册表中Spooler服务的DependOnService依赖项
注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler下的DependOnService值若为空、含错误服务名(如http)或格式异常,会导致Spooler因依赖校验失败而拒绝启动。必须将其精确设为RPCSS单值,且为REG_MULTI_SZ类型。
1、按下Win + R,输入regedit并回车,以管理员权限打开注册表编辑器。
2、导航至路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler。
3、在右侧窗格中双击DependOnService项进行编辑。
4、清空当前数值数据,仅输入单行文本:RPCSS,点击“确定”保存。
5、关闭注册表编辑器,无需重启即可立即生效,但建议后续执行服务重启操作。
五、使用系统文件检查器(SFC)修复受损系统文件
Print Spooler相关DLL(如spoolss.dll、localspl.dll)若被破坏或版本不匹配,会导致服务无法加载。SFC工具可扫描并替换所有受保护的系统文件,恢复Spooler运行所需的底层组件完整性。
1、以管理员身份打开命令提示符或PowerShell。
2、输入命令:sfc /scannow,按回车执行扫描。
3、等待扫描完成(通常耗时10–20分钟),过程中请勿关闭窗口或中断操作。
4、扫描结束后,若提示“已修复某些文件”,则继续执行Print Spooler服务重启步骤。
六、通过PowerShell执行完整打印子系统重置
该方法整合服务控制、队列清理、依赖注册、启动类型重置及多依赖服务顺序启动,适用于Spooler持续崩溃、启动后数秒内自动终止等顽固故障场景,覆盖图形界面与命令行双重失效情形。
1、以管理员身份打开Windows PowerShell。
2、逐行复制粘贴并执行以下全部命令(每行后按回车):
Stop-Service -Name Spooler -Force
Start-Sleep -Seconds 2
Remove-Item -Path "$env:WINDIR\System32\spool\PRINTERS\*" -Force -ErrorAction SilentlyContinue
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Spooler" /v DependOnService /t REG_MULTI_SZ /d RPCSS /f
Set-Service -Name Spooler -StartupType Automatic
Start-Service -Name RpcSs
Start-Service -Name DcomLaunch
Start-Service -Name Spooler











