2011-05-24 89 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。