【发布时间】:2017-01-26 22:30:01
【问题描述】:
我安装了虚拟打印机,它通过重定向端口打印并通过 gsview\gsprint.exe 将文档发送到真实打印机。当我从普通 C++ 应用程序中使用 gsprint 时,它可以正常工作。但是,如果通过 Windows 服务调用相同的东西(以 SYSTEM 身份运行),则会出现以下错误。它可以看到打印机,但可能无法访问它。我在 Windows 10 上,但 Windows 7 也有同样的问题。我该如何解决这个问题?
2006-02-24 gsprint 1.9 无法打开 Windows GDI 打印机驱动程序 请求的打印机:“SupplyDep”
可用的打印机: “发送到 OneNote 2010” “虚拟打印机” “供应部” “Microsoft XPS 文档编写器” “传真”
【问题讨论】:
-
感觉这个问题更适合Super User
-
我个人会假设从 Windows 服务执行的进程没有用户打印权限。对源代码的快速阅读表明这可能是 OpenPriner() 返回 false 或 CreateDC() 返回 NULL 的结果。请注意,如果您想以这种方式使用它,这并不是真正打算用作某种打印服务器可能需要修改源代码并重建它。
标签: c++ windows printing ghostscript