DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ハードウェアデバイスが動作しているか否かを判断するには?

分類:[.NET]

VB.NET2003を使用して下記の事を行いたいと思っております

バーコードリーダーをUSBポートに差して使用しているのですが、VB側から
そのデバイスが動作しているのか否かを判断したいと思っております。

バーコードリーダーが繋がっているか否かが判断できれば一番良いのですが...

OSはWin2000ですのでタスクバーにバーコードリーダーがつながれている場合は
ハードウェアのアイコンが表示されます。

何とかVB側からデバイスの状況を判断することは出来ないのでしょうか?

ご存じの方、教えて頂けないでしょうか?

宜しくお願い申し上げます。
こんにちは、BELLさん。ピラルクです。

Win2000のみというなら「何とか」ほども苦労し
なくてもOKでしょう。そのバーコードリーダー
がどういうデバイスに分類されているかが?で
すが、ヒューマンインターフェースデバイスな
ら、以下で名前が出るようなら「繋がっている」
ということになるのでは?(多分)

Imports System.Management '[ソリューション→参照]より追加する

Public Class Form1
  Inherits System.Windows.Forms.Form

...

  Private Sub Button1_Click(ByVal sender As System.Object, _
                            ByVal e As System.EventArgs) Handles Button1.Click
    Const WQL_SELECT_PnP As String = _
      "Select * from Win32_PnPEntity Where Service = 'HidUsb' And Status = 'OK'"
    Dim mo As ManagementObject
    For Each mo In New ManagementObjectSearcher(WQL_SELECT_PnP).Get()
      Console.WriteLine(CStr(mo.GetPropertyValue("Description")))
    Next
  End Sub
End Class

DOBON.NET | プログラミング道 | プログラミング掲示板