Печать в службе Windows - PullRequest
       15

Печать в службе Windows

1 голос
/ 13 июня 2011

Я пытаюсь печатать в службе 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 реализованы и протестированы.Когда я запускаю код (с AccountType: User), я получаю исключение, говорящее, что «принтер не установлен».В приложении Windows Forms все работает.

Я использую сетевой принтер.

Заранее спасибо, Александр

Ответы [ 3 ]

1 голос
/ 21 апреля 2016

Попробуйте этот код, он может заставить вас напечатать что-нибудь:

Dim psi As New ProcessStartInfo
psi.UseShellExecute = True
psi.Verb = "print"
psi.WindowStyle = ProcessWindowStyle.Hidden
psi.FileName = sReport
Process.Start(psi)
1 голос
/ 13 июня 2011

Печать в службах Windows не рекомендуется.

вам необходимо использовать другую учетную запись для вашей услуги (учетную запись домена), чтобы вы могли получить доступ к сетевым ресурсам.

Более подробную информацию можно найти по адресу: Сетевая печать с оконным сервисом

0 голосов
/ 17 февраля 2014

Вы можете печатать через службу Windows с помощью Windows API. System.Drawing.Printing не подходит для обслуживания.

Проверьте эту ссылку: http://support.microsoft.com/kb/322090

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...