在Windows服务中打印

我正在尝试在Windows服务打印。 下面的VB.Net代码被使用:

Dim _pd As New System.Drawing.Printing.PrintDocument() AddHandler _pd.PrintPage, New System.Drawing.Printing.PrintPageEventHandler(AddressOf PrintDocument_PrintPage) AddHandler _pd.EndPrint, New System.Drawing.Printing.PrintEventHandler(AddressOf PrintDocument_EndPrint) _pd.Print() 

EventHandlers被执行和testing。 当我运行代码(与AccountType:用户)我收到一个exception说,“没有安装打印机”。 在Windows窗体应用程序中一切正常。

我正在使用networking打印机。

亚历山大先生,先谢谢你

不建议在Windows服务中打印。

您需要为您的服务使用不同的帐户 (域帐户),以便您可以访问网络资源。

你可以找到更多的信息: 网络打印与窗口服务

试试这个代码,它可以让你打印任何东西:

 Dim psi As New ProcessStartInfo psi.UseShellExecute = True psi.Verb = "print" psi.WindowStyle = ProcessWindowStyle.Hidden psi.FileName = sReport Process.Start(psi) 

您可以借助Windows API,通过Windows服务进行打印。 System.Drawing.Printing不适合服务。

检查这个链接: http : //support.microsoft.com/kb/322090