如何 读取串行总线控制器的 USB名称
AU3可以通过DriveGetDrive 枚举驱动器的数组,然后用 DriveGetType(path,$DT_BUSTYPE (3))来获取驱动器的总线类型(但是呢,不返回名称,只有Unknown"(未知), "SCSI", "ATAPI 等等);同样通过读取 注册表信息,KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\USBSTOR\Enum 也可以查看,不过也只能是获取USB的使用记录;我现在希望获取串行总线控制器里的 USB名称,这个USB名称读取,我们可以通过手动 点击设备管理器,打开通用串行总线控制器查看。
现在如果想用AU3直接读取 USB名称 ,有没有更好的办法? 谢谢各位大佬了 (第一次尝试发布悬赏)
Dim $oWMI, $objs
$oWMI = ObjGet("WinMgmts:")
$objs = $oWMI.InstancesOf("CIM_USBDevice")
For $obj In $objs
ConsoleWrite('名称:' & $obj.name & @CRLF )
Next
$obj = 0
$objs = 0
$oWMI =0
https://docs.microsoft.com/zh-tw/windows-hardware/drivers/devtest/tools-for-testing-drivers
devcon listclass USB 或者 pnputil /enum-devices /connected /class USB 建议下载devcon的代码研究一下,一看便知 haijie1223 发表于 2020-11-8 22:39
建议下载devcon的代码研究一下,一看便知
好的 谢谢 发哥 繁星 发表于 2020-11-8 17:20
https://docs.microsoft.com/zh-tw/windows-hardware/drivers/devtest/tools-for-testing-drivers
devcon...
谢谢 大佬,待我研究一下,英语水平有点差 itzyx 发表于 2020-11-9 00:33
好的 谢谢 发哥
https://www.baidu.com/baidu?word=devcon%D4%B4%C2%EB&_si=%25CB%25D1%25CB%25F7&tn=menilui_pg&fyb=0&tr=mk3SLVN4HKm 应该可以直接读注册表获取吧 afan 发表于 2020-11-9 02:32
应该可以直接读注册表获取吧
A大可以吗?我找了 半天 都没找到方法,只有个USB历史使用记录 haijie1223 发表于 2020-11-9 00:43
https://www.baidu.com/baidu?word=devcon%D4%B4%C2%EB&_si=%25CB%25D1%25CB%25F7&tn=menilui_pg&fyb=0&t ...
好的 好的实在感谢 itzyx 发表于 2020-11-9 08:29
A大可以吗?我找了 半天 都没找到方法,只有个USB历史使用记录
你没具体说获取什么字符,懒得打字可以贴图 afan 发表于 2020-11-9 12:44
你没具体说获取什么字符,懒得打字可以贴图
诸如此类的 字符串, 字母加数字
到注册表以下位置找找就有
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{36FC9E60-C465-11CF-8056-444553540000} afan 发表于 2020-11-9 14:18
到注册表以下位置找找就有
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{36FC9E60-C465-11CF- ...
A大 这里面有 180多项,怎么知道 具体哪个是我要读取的名称呢
本帖最后由 afan 于 2020-11-9 15:32 编辑
我怎么知道你要哪个?只有你自己才清楚要干什么获取什么…
给你写段代码获取所有,可以自己添加条件过滤出需要的
Msgbox(0, '', _GetUSBDriverDesc())
Func _GetUSBDriverDesc()
Local $sHKey = 'HKLM64\SYSTEM\ControlSet001\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}'
Local $sInfo = '', $sDriverDesc, $ii = 1
While 1
$sSubKey = RegEnumKey($sHKey, $ii)
If @error Then ExitLoop
$ii += 1
$sDriverDesc = RegRead($sHKey & '\' & $sSubKey, 'DriverDesc')
$sInfo &= $sDriverDesc & @CRLF
WEnd
Return $sInfo
EndFunc ;==>_GetUSBDriverDesc
页:
[1]
2