Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ManagementObjectSearcher正在以十六进制和纯文本格式随机返回硬盘序列号?_C#_.net - Fatal编程技术网

C# ManagementObjectSearcher正在以十六进制和纯文本格式随机返回硬盘序列号?

C# ManagementObjectSearcher正在以十六进制和纯文本格式随机返回硬盘序列号?,c#,.net,C#,.net,我使用下面的函数来获取硬盘的序列号,但这个函数有时返回文本值,有时返回十六进制格式的值 请建议如何始终以纯文本形式获取序列号 public static string GetHddSerialNo() { string serial = string.Empty; ManagementObjectSearcher mos = new ManagementObjectSearcher ("SELECT * FROM

我使用下面的函数来获取硬盘的序列号,但这个函数有时返回文本值,有时返回十六进制格式的值

请建议如何始终以纯文本形式获取序列号

public static string GetHddSerialNo()
{
    string serial = string.Empty;
    ManagementObjectSearcher mos = 
                  new ManagementObjectSearcher ("SELECT * FROM 
                      Win32_PhysicalMedia  WHERE Tag like '%PHYSICALDRIVE0%'");

    foreach (ManagementObject mo in mos.Get())
    {
         serial = Convert.ToString(mo["SerialNumber"]);
         break;
    }

    return serial.Trim();
}

May可以帮你解决问题。@brothers28所有的解决方法都和我的类似。Azhar添加“HardwareIDExtractorC.dll”的解决方案不起作用。它说它不是com组件。