есть ли код на vb.net для проверки состояния принтера - PullRequest
0 голосов
/ 24 мая 2011

Проблема снова появляется в задании на печать ...

У меня есть принтер (квитанция Epson TM-T88IV).Перед печатью я хотел бы проверить, доступен ли принтер для печати или нет (подключен или нет).если нет, я покажу форму предварительного просмотра.в противном случае он автоматически напечатает

любое решение в коде vb.net

Заранее спасибо
Макара

Ответы [ 2 ]

2 голосов
/ 24 мая 2011

Я не уверен на 100%, что это сработает, поэтому попробуйте сначала:

'usage
For Each prn As String In PrinterSettings.InstalledPrinters
    Debug.WriteLine(String.Format("Is printer {0} online? {1}", prn, CheckPrinter(prn).ToString))
Next

'function to test printer status
Private Function CheckPrinter(ByVal printerName As String) As Boolean
    Try
        Dim printDocument As PrintDocument = New PrintDocument
        printDocument.PrinterSettings.PrinterName = printerName
        Return printDocument.PrinterSettings.IsValid
    Catch ex As System.Exception
        Return False
    End Try
End Function
0 голосов
/ 24 мая 2011

Поскольку вы используете Vb.net, я думаю, что вы находитесь на машине с Windows. Используйте API своих операционных систем. Как например GetPrinterStatus.

...