0

たとえば、パーティション ディスク C: を削除したい場合、この C: に新しいパーティションを作成し、フォーマットして新しいウィンドウをインストールします。

C: がパーティション 0 または 1 または 2 にあるかどうかを知るにはどうすればよいですか? 私が持っているすべてのハードディスクのリストを取得し、たとえばどのパーティションにあるのかをそれぞれ表示したい:

label1.Text will show: C: Partition 0
label2.Text will show: D: Partition 1

私はこれを試しました:

string system_disk = Path.GetPathRoot(Environment.SystemDirectory).TrimEnd('\\');
using (var m1 = new ManagementObjectSearcher("ASSOCIATORS OF {Win32_LogicalDisk.DeviceID='" + system_disk + "'} WHERE ResultClass=Win32_DiskPartition"))
{
    foreach (var i1 in m1.Get())
    {
        using (var m2 = new ManagementObjectSearcher("ASSOCIATORS OF {Win32_DiskPartition.DeviceID='" + i1["DeviceID"] + "'} WHERE ResultClass=Win32_DiskDrive"))
        {
            foreach (var i2 in m2.Get())
            {
                label1.Text = string.Format("Type: " + i2["MediaType"]);
                label2.Text = string.Format("Model: " + i2["Name"]);
                break;
            }
        }
        break;
    }
}

しかし、それは私が必要としていたものではありません。

4

1 に答える 1