我熟悉VolumeSerialNumber,我需要与diskpart中所示相同的磁盘ID:

WD My Passport 0740 USB设备
磁盘ID:08B29B51
类型:USB
状态:在线
路径:0
目标:0
LUN ID:0
位置路径:不可用
当前只读状态:否
只读:否
启动盘:否
页面文件磁盘:否
休眠文件磁盘:否
故障转储磁盘:否
集群磁盘:否

我在网络(WMI)或论坛上找不到支持此请求的任何内容。
有人有主意吗?

最佳答案

检出Win32_DiskDrive WMI类。它有一个名为Signature的字段,其中包含此ID。但是请注意,这不是字符串,而是数字。如果要匹配在DiskPart中看到的内容,则必须将该数字显示为十六进制字符串(signature.ToString("X")

这是打印驱动器签名的代码:

public void PrintDiskDriveSignature()
{
    var searcher = new ManagementObjectSearcher
              (@"\\localhost\ROOT\CIMv2", "select * from Win32_DiskDrive");
    var drives = searcher.Get();
    foreach (var drive in drives)
    {
        string name = drive["Name"].ToString();
        uint signature = (uint) drive["Signature"];
        Console.WriteLine("{0}: {1}", name, signature.ToString("X"));
    }
}

关于c# - Diskpart UniqueID-C#如何获取该ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26957264/

10-10 21:29