C#获取硬盘ID

 1     class HardDrive
 2     {
 3         private string model = null;
 4         private string type = null;
 5         private string serialNo = null;
 6 
 7         public string Model
 8         {
 9             get { return model; }
10             set { model = value; }
11         }
12 
13         public string Type
14         {
15             get { return type; }
16             set { type = value; }
17         }
18 
19         public string SerialNo
20         {
21             get { return serialNo; }
22             set { serialNo = value; }
23         }
24     }
25 
26         public static string GetDiskSerialNumber()
27         {
28             string DiskID="";
29             ArrayList hdCollection = new ArrayList();
30 
31             ManagementObjectSearcher searcher = new
32                 ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
33 
34             foreach (ManagementObject wmi_HD in searcher.Get())
35             {
36                 HardDrive hd = new HardDrive();
37                 hd.Model = wmi_HD["Model"].ToString();
38                 hd.Type = wmi_HD["InterfaceType"].ToString();
39 
40                 hdCollection.Add(hd);
41             }
42 
43             searcher = new
44                 ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
45 
46             int i = 0;
47             foreach (ManagementObject wmi_HD in searcher.Get())
48             {
49                 // get the hard drive from collection
50                 // using index
51                 HardDrive hd = (HardDrive)hdCollection[i];
52 
53                 // get the hardware serial no.
54                 if (wmi_HD["SerialNumber"] == null)
55                     hd.SerialNo = "None";
56                 else
57                     hd.SerialNo = wmi_HD["SerialNumber"].ToString();
58 
59                 ++i;
60             }
61 
62             // Display available hard drives
63             foreach (HardDrive hd in hdCollection)
64             {
65                 //Console.WriteLine("Model\t\t: " + hd.Model);
66                 //Console.WriteLine("Type\t\t: " + hd.Type);
67                 //Console.WriteLine("Serial No.\t: " + hd.SerialNo);
68                 //Console.WriteLine();
69 
70                 DiskID=DiskID+ hd.SerialNo.Trim();//可能有多个硬盘,所以ID长度不一样
71 
72             }
73 
74             return DiskID;
75         } 

 

posted on 2017-03-23 12:34  小圈子  阅读(1712)  评论(0编辑  收藏  举报

导航