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

时间:2019-11-05 18:33:08

标签: c# windows wmi

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

        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

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

谢谢

0 个答案:

没有答案