Imports System.Management
Imports System.Drawing.Printing
Public Class cls_Status
''' <summary>
''' 获取打印机列表
''' </summary>
''' <returns>返回一个ArrayList</returns>
Public Function getPrinterName() As ArrayList
Dim arr As New ArrayList()
For Each s As String In PrinterSettings.InstalledPrinters
arr.Add(s)
Next
Return arr
End Function
''' <summary>
'''返回一个整形值,所代表的意思是打印机状态
''' </summary>
''' <param name="printerName">打印机名称</param>
''' <returns>返回一个int值</returns>
Private Function PrinterStatusInt(ByVal printerName As String) As Integer
Dim intt As Integer = -1
Dim path As String = "win32_printer.DeviceId='" + printerName + "'"
Dim printer As New ManagementObject(path)
printer.Get()
intt = Convert.ToInt32(printer.Properties("PrinterStatus").Value)
Return intt
End Function
''' <summary>
''' 获取打印机状态
''' </summary>
''' <param name="printerName">打印机名称</param>
''' <returns>返回一个字符串</returns>
Public Function GetPrinterStatus(ByVal printerName As String) As String
Dim arr As Integer = PrinterStatusInt(printerName)
Dim status As String = ""
Select Case arr
Case 1, 2
status = "未知"
Exit Select
Case 3
status = "就绪"
Exit Select
Case 4, 7
status = "正在打印"
Exit Select
Case 5
status = "警告"
Exit Select
Case 6
status = "暂停"
Exit Select
Case 8
status = "脱机"
Exit Select
Case Else
status = "错误"
Exit Select
End Select
Return status
End Function
End Class
百度链接:
链接:https://pan.baidu.com删/s/1lNUYdC除IMru2w2l65JtzFjw
提取码:tdp2