对于USB接口的打印机,当插上打印机连线时,打印的图标颜色为可用,否则为灰色不可用。
请问如何通过编程的方式,判断打印机是否在线呢?
谢谢

解决方案 »

  1.   

    有USB设备,程序可以检查啊,并且可以判断是否为打印机。
      

  2.   

    利用WMI獲取USB設備列表Sub Command1_Click()
        strComputer = "."
        Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
        Set colDevices = objWMIService.ExecQuery("Select * From Win32_USBControllerDevice")
        For Each objDevice In colDevices
            strDeviceName = objDevice.Dependent
            MsgBox strDeviceName
            strQuotes = Chr(34)
            strDeviceName = Replace(strDeviceName, strQuotes, "")
            arrDeviceNames = Split(strDeviceName, "=")
            strDeviceName = arrDeviceNames(1)
            Set colUSBDevices = objWMIService.ExecQuery _
                ("Select * From Win32_PnPEntity Where DeviceID = '" & strDeviceName & "'")
            For Each objUSBDevice In colUSBDevices
                Debug.Print objUSBDevice.Description
            Next
        Next
    End Sub