找回密码
 加入
搜索
查看: 2003|回复: 4

[AU3基础] SetupApi怎样获得硬件hDevInst

[复制链接]
发表于 2011-2-6 00:55:41 | 显示全部楼层 |阅读模式
本帖最后由 jd19970829 于 2011-2-6 01:05 编辑

我正在使用
Func _CM_Restart_Device($hDevInst)
这个函数,可是我不知道怎样能够得到$hDevInst。
发表于 2011-2-6 01:06:46 | 显示全部楼层

#include <SetupAPI.au3>

$sDeviceId = "HID\VID_093A&PID_2510\6&331CF27B&5&0000"

$hDevInst = _CM_Locate_DevNode($sDeviceId)
If _CM_Restart_Device($hDevInst) Then
        MsgBox(48, "OK", "Done.")
Else
           MsgBox(48, "Error", "Error code: " & @error)
EndIf
发表于 2011-2-6 01:22:01 | 显示全部楼层
- -||| 改标题很快。

$hDevInst参数是设备句柄,通常返回于_CM_Locate_DevInst函数,它的第一个参数$sDeviceId是 设备范例ID字符串(Device Instance Identifier String),在系统中是唯一的,用来定位一个独立的设备。如果你事先不知道这个字符串,可以根据 设备在设备管理器中 的显示名称调用_CM_Get_Device_ID_By_Name_Ex获取到。如果你也不知道设备的显示名称,可以调用_CM_Enum_Device_Info枚举所有的设备,再调用_CM_Get_DevNode_Registry_Property获取每个设备的相关属性,根据属性决定 使用哪个设备。再或者,如果你没有从属性中分离出有用的信息进而判断出重启哪个设备,那我也没办法了。
 楼主| 发表于 2011-2-6 02:33:15 | 显示全部楼层
多谢P老大,我已经明白改怎么做了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 18:55 , Processed in 0.088431 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表