Foxtable(狐表)用户栏目专家坐堂 → [讨论]获取电脑当前所有移动磁盘(即USB)序列号


  共有1469人关注过本帖树形打印复制链接

主题:[讨论]获取电脑当前所有移动磁盘(即USB)序列号

帅哥哟,离线,有人找我吗?
nsdata
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:159 积分:1466 威望:0 精华:0 注册:2022/11/10 9:07:00
[讨论]获取电脑当前所有移动磁盘(即USB)序列号  发帖心情 Post By:2023/9/15 17:48:00 [只看该作者]


  蓝老您好,请问如何获取电脑当前所有U盘(当前电脑可能插了N个U盘都要获取)的序列号?有没代码或dll推荐下

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107895 积分:548844 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/16 11:32:00 [只看该作者]

引用添加System.Management.dll,http://www.foxtable.com/webhelp/topics/1936.htm


Dim diskArray As String()
Dim driveNumber As String
Dim searcher As New System.Management.ManagementObjectSearcher("SELECT * FROM Win32_LogicalDiskToPartition")

For Each dm As System.Management.ManagementObject In searcher.Get()
    Dim inValue As String = dm("Antecedent").ToString()
    Dim posFoundStart = inValue.IndexOf("""")
    Dim posFoundEnd = inValue.IndexOf("""", posFoundStart + 1)
    Dim parsedValue = inValue.Substring(posFoundStart + 1, (posFoundEnd - posFoundStart) - 1)
    
    diskArray = parsedValue.Split(","c)
    driveNumber = diskArray(0).Remove(0, 6).Trim()
    Dim disks = New System.Management.ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive")
    
    For Each disk As System.Management.ManagementObject In disks.[Get]()
        
        If disk("Name").ToString() = ("\\.\PHYSICALDRIVE" & driveNumber) And disk("InterfaceType").ToString() = "USB" Then

            Dim deviceId As String = disk("PNPDeviceID").ToString()
            Dim splitDeviceId = deviceId.Split("\"c)
            Dim arrayLen = splitDeviceId.Length - 1
            Dim serialArray = splitDeviceId(arrayLen).Split("&"c)
            Dim serial = serialArray(0)
            Output.Show(serial)
        End If
    Next
Next


 回到顶部
帅哥哟,离线,有人找我吗?
nsdata
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:159 积分:1466 威望:0 精华:0 注册:2022/11/10 9:07:00
  发帖心情 Post By:2023/9/17 0:56:00 [只看该作者]

 
   可以哦 蓝老厉害,小弟臣服。。。上面能获取一个usb的id,如果电脑插了N个USB 如何同时列出N个usb ID?

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107895 积分:548844 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/17 20:19:00 [只看该作者]

上面代码就是列出所有的

 回到顶部