このような特定の名前を持つデバイス一覧を表示させるプログラムを作ったのですがWINDOWSXPでは動作したのにWINDOWS2000では動作しませんでした。(オートメーションエラーとでます。)
WINDOWS2000で動作させる方法はないでしょうか。
よろしくお願いします。
Private Sub Command2_Click()
Dim PnPSet As SWbemObjectSet
Dim PnP As SWbemObject
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim MesStr As String
Dim Ret As String
Ret = -1
Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer
Set PnPSet = Service.ExecQuery _
("Select * From Win32_PnPentity " & _
"Where Description Like '%Intel%'")
For Each PnP In PnPSet
Ret = PnP.Name
MsgBox Ret
Next
Set PnPSet = Nothing
Set PnP = Nothing
Set Locator = Nothing
Set Service = Nothing
End Sub
クエリ(WQL) 中での LIKE 演算子は、Windows 2000 では利用できません。
Windows Server 2003 以上/Windows XP 以上が必要です。
全列挙から VB 側の Like 演算子で絞り込むなどして回避してください。
お礼が遅くなり申し訳ありませんでした。
やはりそうなのですね。ありがとうございました。
魔界の仮面弁士さんのおっしゃる方法でなんとは回避したいと思います。
ツイート | ![]() |