我找了一段 代码,说是能检测打印机的状态,实际就是逗你玩!
空闲的时候返回:【等待】;打印的时候返回:【等待】;拔掉数据线还是返回:【等待】;关机的时候返回:【等待】
只有删除打印机,它才安静了!
:
‘-------------------------------
Sub WMI枚举打印机状态()
Dim strMsg As String
'取得WMI服务
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
'查找系统所有打印服务(这是集合)
Set colPrinters = objWMI.ExecQuery("Select * from Win32_Printer")
strMsg = ""
'遍历
For Each objx In colPrinters
strMsg = strMsg & "打印机名: " & objx.Name & vbCrLf
strMsg = strMsg & "本地打印机: " & objx.Location & vbCrLf
Select Case objx.PrinterStatus
Case 1
strList = "其它状态"
Case 2
strList = "不明"
Case 3
strList = "等待"
Case 4
strList = "打印中..."
Case 5
strList = "开机"
End Select
strMsg = strMsg & "打印机状态: " & strList & vbCrLf
Next
MsgBox strMsg
End Sub