2011-05-24 43 views
0

看出,在打印作业再次出现问题...有在vb.net任何代码来检查打印机状态

我有一台打印机(爱普生TM-T88IV收据)。打印之前,我想检查打印机是否可用于打印(不连接或不连接)。如果没有,我将显示打印预览表单。否则会自动打印

任何解决方案在vb.net代码

在此先感谢
马卡拉

+0

“在vb.net代码的任何解决方案” - 没有一个问题作。 – 2011-05-24 02:32:55

+0

请检查您先前提问的问题并接受答案 - 您将找到更多即将出现的答案 – 2011-05-24 09:36:28

回答

2

我不是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 
+1

此代码正常工作。谢谢 – Makara 2011-05-28 04:50:15

+1

即使打印机关闭,代码也会返回“True”。 – 2014-08-22 11:17:00

-1

当您使用Vb.net我猜你是在Windows机器上。使用您的操作系统API。像例如GetPrinterStatus。