C # Получить серийный номер USB-накопителей - PullRequest
1 голос
/ 05 ноября 2019

Чтобы получить серийный номер, я использую этот код:

        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

Знаете ли вы какой-либо способ получить другой идентификатор или получить строку, которая будет отличаться? Мы понимаем, что оба серийных номера не могут быть одинаковыми.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...