【问题标题】:PrinterSettings.InstalledPrinters on VistaVista 上的 PrinterSettings.InstalledPrinters
【发布时间】:2009-05-13 07:41:45
【问题描述】:

我有一个托管在 Windows 服务应用程序上的 WCF 服务,它应该返回托管它的机器上所有已安装的打印机。我使用 System.Drawing.Printing.PrinterSettings.InstalledPrinters 来检索已安装打印机的列表,但我不知道为什么在 Windows Vista 中它不会返回所有打印机。

主机 Windows 服务使用管理员组成员的帐户运行,具有“作为服务登录”权限并添加了具有“requireAdministrator”执行级别的 app.Manifest。

更新: 如果我在 Vista 中的 Windows 应用程序上使用 InstalledPrinters 属性,它会返回所有打印机!

【问题讨论】:

    标签: c# wcf windows-services printing


    【解决方案1】:

    您是否为运行该应用程序的用户安装了其他成员未安装的打印机?

    这可能是检查的一种途径,因为仅为您运行应用程序的用户设置的任何打印机可能不是为您运行服务的用户设置的。

    (当然,如果您以同一用户的身份运行两者,这当然是一个有争议的问题)

    【讨论】:

    • 你是对的。问题是我的服务在不同的用户帐户下运行。是否可以为我的服务使用的用户帐户安装打印机,而无需登录该帐户?
    【解决方案2】:

    您应该在本地安装打印机以通过 Windows 服务使用它们。当您启动添加打印机向导时,您可以选择是添加本地打印机还是远程打印机。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-08
      • 1970-01-01
      • 2010-09-27
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多