2011-06-13 93 views
1

我試圖在Windows服務中打印。使用以下VB.Net代碼:在Windows服務中打印

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已實施並經過測試。當我運行代碼(使用AccountType:User)時,我收到一個異常,說「沒有安裝打印機」。在Windows窗體應用程序中一切正常。

我正在使用網絡打印機。

謝謝你在前進, 亞歷山大

+0

是否該服務正在運行的任何打印機設置的帳戶? – Oded 2011-06-13 12:51:28

+0

Windows窗體應用程序,其中的代碼工作,運行在相同的帳戶作爲服務(我只有一個用戶安裝在我的機器上)。 – alxppp 2011-06-13 13:09:30

+0

是本地安裝的打印機,還是網絡打印機 – 2011-06-13 13:41:45

回答

1

試試這個代碼,它可以讓你打印任何東西:

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