【发布时间】:2016-08-25 11:25:04
【问题描述】:
我可以从 WMI 获取 deviceID,然后我想使用该 deviceID 来检查天气设备是否处于启用\禁用状态以及它的状态是否正常,基本上我想稍后使用 WQL 来查询该设备USB 设备唯一设备 ID。这是我使用并遇到异常的代码示例
import wmi
devid = "USB\VID_04F2&PID_B315\6&EF94D1A&0&6"
c = wmi.WMI()
q2 = "SELECT * FROM Win32_PnPEntity WHERE DeviceID = " + devid + " "
dev = c.query(q2)
当我运行此代码时,我收到以下错误:
回溯(最近一次通话最后一次):
文件“”,第 1 行,在
查询中的文件“C:\Python27\lib\site-packages\wmi.py”,第 1009 行
return [ _wmi_object (obj, instance_of, fields) for obj in self._raw_query(wql) ]
文件“C:\Python27\lib\site-packages\win32com\client\util.py”,第 84 行,在下一个 return _get_good_object_(self.iter.next(), resultCLSID = self.resultCLSID )
pywintypes.com_error: (-2147217385, 'OLE 错误 0x80041017', 无, 无)
可能我的 wql 查询在某种程度上是错误的,你能给我举个例子来说明编写查询的正确方法吗?
【问题讨论】: