C++ WMI获取usb deviceID数据不全的问题 Win32_USBHub

微软msdn举得C++ 例子,通过wmi获取操作系统名称Name,当然是一个数据。但是Win32_USBHub的deviceID就不只一个,比如键盘、鼠标、优盘等。如果按msdn的例子流程,只会输出第一个数据,剩下数据则无法输出。谷歌翻网页翻的头疼无解结果自己尝试了下意外解决了方法如下:

1、箭头1,所指next函数第三个参数,类型是IEnumWbemClassObject * m_pEnumClsObj,因为现在是一组数据所以将其改为数组IWbemClassObject* m_pWbemClsObj[20];

2、箭头2,是数组的大小,此处根据上面定义是20;

3、GET函数前面也应改为数组轮训获得。

4、uReturn这个值,是实际获取得数量,可以将其作为轮循标准。比如我自己电脑就是6个,所以6次get就可以了。

以上就是解决多个数据的关键,因为数据获得比较长,建议可先排序,后放到一个string,然后md5加密,成32位长度。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
C/C是一种编程语言,而WMI是Windows Management Instrumentation的缩写,它是Windows操作系统的一个功能,用于管理和监控计算机系统的各种资源和组件。而Win32_DiskDrive是WMI的一个类,用于管理和获取计算机系统中的磁盘驱动器的信息。这个类提供了许多属性和方法,可以帮助我们获取和操作磁盘驱动器的各种信息。 在C/C编程语言中,我们可以使用WMIWin32_DiskDrive类来获取和操作磁盘驱动器的信息。首先,我们需要初始化WMI,然后使用WMI查询语言来查询Win32_DiskDrive类的实例。通过遍历这些实例,我们可以获取磁盘驱动器的各种属性,如驱动器的名称、序列号、容量、型号等等。我们可以通过调用相应的方法,如获取磁盘驱动器的序列号、格式化磁盘等,来操作磁盘驱动器。 具体来说,在C/C中可以使用WMI API编写相关的代码来获取和操作磁盘驱动器的信息。我们需要包含相关的头文件,并使用WMI API中的函数和结构体来实现相应的功能。首先,我们需要初始化WMI和连接到本地计算机的WMI服务。然后,使用WMI查询语句来查询Win32_DiskDrive类的实例。通过遍历这些实例,我们可以获取磁盘驱动器的各种属性,并将其打印或存储起来。此外,我们还可以调用相应的方法来进行磁盘驱动器的操作,如格式化磁盘、扩展磁盘分区等等。 总之,使用C/C编程语言结合WMIWin32_DiskDrive类,我们可以进行磁盘驱动器的信息获取和操作。这对于需要获取和管理计算机系统中磁盘驱动器的应用程序是非常有用的。同时,这也展示了C/C语言的灵活性和与Windows操作系统底层API的结合能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闫有尽意无琼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值