Tuesday, February 9, 2010

Check Printer Status Using VB.NET

Some times our application needs to show the status of the printer, for that purpose we can use System.Management Namespace for getting printer status

Write This code under button status click...
'btnStatus is a button.
'tbPrinterStatus is a rich text box.

Private Sub btnStatus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStatus.Click


Dim scope As ManagementScope = New ManagementScope("\root\cimv2")
scope.Connect()
Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher("SELECT * FROM Win32_Printer")
Dim collection As ManagementObjectCollection = searcher.Get

For Each printer As ManagementObject In collection

'MessageBox.Show(printer("WorkOffline").ToString(), cbPrinters.Text)
If printer("Name").ToString() = cbPrinters.Text Then

tbPrinterStatus.Clear()
If printer("WorkOffline").ToString().ToLower().Equals("true") Then
tbPrinterStatus.AppendText("Printer : Offline")
Else
tbPrinterStatus.AppendText("Printer : Online")
End If

tbPrinterStatus.AppendText(vbCrLf)

tbPrinterStatus.AppendText("PrinterStatus :")
tbPrinterStatus.AppendText(printer("PrinterStatus").ToString())
tbPrinterStatus.AppendText(vbCrLf)
tbPrinterStatus.AppendText("ExtendedDetectedErrorState :")
tbPrinterStatus.AppendText(printer("ExtendedDetectedErrorState").ToString())
tbPrinterStatus.AppendText(vbCrLf)
tbPrinterStatus.AppendText("DetectedErrorState :")
tbPrinterStatus.AppendText(printer("DetectedErrorState").ToString())
tbPrinterStatus.AppendText(vbCrLf)
tbPrinterStatus.AppendText("PrinterState :")
tbPrinterStatus.AppendText(printer("PrinterState").ToString())

End If

Next

End Sub

Note: By Using this code you will never get exact printer status,it will display the status from the printer drivers not from device .

2 comments:

  1. Thank u very much for your simple code. This only I am searching for many time for my project

    ReplyDelete
  2. I was surfing net and fortunately came across this site and found very interesting stuff here. Its really fun to read. I enjoyed a lot. Thanks for sharing this wonderful information. renting impresoras zaragoza

    ReplyDelete