C#获取USB驱动器的序列号

要获取序列号,请使用以下代码:

        List<HardDrive> hdCollection = new List<HardDrive>();
        var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");

        foreach (ManagementObject wmi_HD in searcher.Get())
        {
            HardDrive hd = new HardDrive();
            hd.Model = wmi_HD["Model"].ToString();
            hd.InterfaceType = wmi_HD["InterfaceType"].ToString();
            hd.Caption = wmi_HD["Caption"].ToString();

            hd.SerialNo = wmi_HD.GetPropertyValue("SerialNumber").ToString();//get the serailNumber of diskdrive

            hdCollection.Add(hd);
        }

        tbHdd.Text = "*** DETECTED HDD INFORMATION ***\r\n\r\n";

        foreach (HardDrive hd in hdCollection)
        {
            tbHdd.Text += string.Format("Caption: {0}\r\nInterface Type: {1}\r\nmodel: {2}\r\nSerial Number: {3}\r\n\r\n",hd.Caption,hd.InterfaceType,hd.Model,hd.SerialNo);
        }

如果我连接2个相同品牌和型号的USB设备,它将返回相同的序列号。这些是得到的结果:

Caption: Samsung flash Drive FIT USB Device
Interface Type: USB
Model: Samsung flash Drive FIT USB Device
Serial Number: AA00000000000489

Caption: Samsung flash Drive FIT USB Device
Interface Type: USB
Model: Samsung flash Drive FIT USB Device
Serial Number: AA00000000000489

您知道以任何方式获取不同的标识符或获取不同的字符串吗?我们知道两个序列号不能相同。

谢谢

sheng13love 回答:C#获取USB驱动器的序列号

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3157231.html

大家都在问