我安装了虚拟打印机,通过重定向端口进行打印,并通过gsview \ gsprint.exe将文档发送到真实打印机。当我从普通的C ++应用程序使用gsprint时,它正常工作。但是如果通过Windows服务(以SYSTEM身份运行)调用相同的东西,则会出现以下错误。它看到了打印机但可能无法访问它。我在Windows 10上,但Windows 7也有同样的问题。我该如何解决这个问题?
2006-02-24 gsprint 1.9 无法打开Windows GDI打印机驱动程序 请求的打印机:" SupplyDep"
可用的打印机: "发送到OneNote 2010" " VirtualPrinter" " SupplyDep" " Microsoft XPS Document Writer" "传真"
答案 0 :(得分:0)
我尝试以NT Authority /系统用户身份运行gsprint时遇到了类似的问题。 link中的最后一篇文章很有帮助。基本上,我在用户下设置打印机,然后将打印机的注册表项复制到默认用户。
Below are the registry keys I copied from HKEY_CURRENT_USER to HKEY_USERS\.DEFAULT
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts
HKEY_CURRENT_USER\Printers
您需要重新启动Print Spooler服务(或仅重新启动服务器),以使更改生效。