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

[系统综合] [已解决]如何做到像devcon那样用兼容ID获取硬件ID?

[复制链接]
发表于 2010-7-30 16:56:53 | 显示全部楼层 |阅读模式
本帖最后由 zhhsh 于 2010-8-3 21:15 编辑

如题
像如下命令:
devcon hwids PCI\CC_0106
获取到类型为AHCI磁盘控制器的其它硬件ID

如:获取到AMD AHCI磁盘控制器的硬件ID为PCI\VEN_1002&DEV_4391&SUBSYS_43911002



使用setupapi.au3 UDF如何得到?
请各位大侠帮助

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2010-7-31 04:07:09 | 显示全部楼层
思路问题而已,先获取完整的ID,然后再stringinstr就可以了
 楼主| 发表于 2010-7-31 09:14:11 | 显示全部楼层
我说的不是这样。
我是问用UDF setupapi.au3 中哪个函数
发表于 2010-7-31 09:23:28 | 显示全部楼层
想做驱动识别吗?
给个枚举PCI设备的范例。
#include <Array.au3>

Local $regreturn,$aRecord
reg()
_ArrayDisplay($regreturn)

Func reg()
        Dim $key="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI",$regreturn[1]
For $i = 1 to 100
$var = RegEnumKey($key, $i)
if @error <> 0 Then ExitLoop
        For $n=1 To 100
                $subvarname=$key&""&$var
                $subvar=RegEnumKey($subvarname,$n)
                If @error <> 0 Then ExitLoop
                        $aaa=RegRead($subvarname&""&$subvar&"","class")
                                $hdid=RegRead($subvarname&""&$subvar&"","HardwareID")
                                $bb=StringSplit($hdid,@CRLF)
                                If UBound($bb)>5 Then
                                $cc=StringSplit($bb[1],"&")
                                $regre=$cc[1]&"&"&$cc[2]
                        Else
                                $cc=StringSplit($bb[1],"&")
                                $regre=$cc[1]&"&"&$cc[2]&"&"&$cc[3]
                        EndIf
                                _ArrayAdd($regreturn,$regre)
        Next
next
        Return $regreturn        
EndFunc

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2010-8-3 21:15:01 | 显示全部楼层
回复 4# 3mile


    谢谢大大的帮忙,已解决了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-24 01:25 , Processed in 0.150996 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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