如何获取硬盘的序列号,C#中是否有好的方法

来源:百度知道 编辑:UC知道 时间:2024/06/05 10:06:15
我希望得到物理磁盘的序列号,可是有的机器能得到这个序列号,有的机器却不能
还有就是不知道移动硬盘的序列号不知道是否可以通过C#得到

得用WMI吧

using System;
using System.Management;

namespace ProcessorId
{
public class Test
{
static void Main()
{
Console.WriteLine("My harddisk is : " + GetHd());
Console.Read();
}

public static string GetHd()
{
ManagementObjectSearcher wmiSearcher = new ManagementObjectSearcher();

wmiSearcher.Query = new SelectQuery(
"Win32_DiskDrive",
"",
new string[]{"PNPDeviceID"}
);
ManagementObjectCollection myCollection = wmiSearcher.Get();
ManagementObjectCollection.ManagementObjectEnumerator em =
myCollection.GetEnumerator();
em.MoveNext();
ManagementBaseObject mo = em.Current;
string id = mo.Properties["PNPDeviceID"]