我有一个 Windows 7 x86 系统和一个在我的工作组中公开共享的打印机。当我尝试从 Windows 2000 Pro sp4 框中打印到该打印机时,打印作业进入打印机队列,但随后挂起打印队列。
在这两个系统中,您都可以查看打印作业,但在您重新启动 Windows 7 主机系统之前,该作业永远不会打印。此外,在您重新启动主机 Windows 7 系统之前,您无法删除打印作业。
任何在 Win2K 盒子之后进入的打印作业都会挂起,等待打印卡住的作业。
我可以做些什么来解决这个问题?这是一个已知问题吗?我是否只是在使用相距太远的系统,只是说的不是同一种语言的足够接近的方言?
拉斯,
如果您在 Windows 7 主机上配置以下策略,它应该可以工作。
另一个解决方案是禁用 Windows 7 的 UAC 控制……我相信这也可以解决打印队列的“挂断”问题。
TheCleaner 的回答,希望完全消除采取进一步行动的需要。但是,如果这不能解决问题,则很少需要重新启动来修复挂起的打印队列。通常,在大多数情况下,只需停止 Print Spooler 服务、终止 spoolsv.exe 进程(必要时强制执行),然后再次启动 Print Spooler 服务就足够了。这也可以从命令行编写或实现,如下所示:
虽然不理想,但它不像必须重新启动机器才能让您的打印后台处理程序再次运行那样具有侵入性。您还可以更有创意,设置一个每隔几分钟运行一次的任务,以查看打印后台处理程序是否真的在做它应该做的事情,如果没有,然后发出上面的命令让它重新启动并运行。
附带说明一下,只要 Windows 打印后台处理程序存在,它就非常脆弱,所以我很失望听到这个最新版本仍然因任何原因挂起(尽管我不能说我是也感到惊讶)。顺便说一句,上面的快速而肮脏的修复方法可以在每个“非 DOS”版本的 Windows 上使用。请注意,虽然“taskkill”命令仅在 XP 中首次引入,但可以使用资源工具包工具“kill”代替它)。