たとえば、パーティション ディスク 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;
}
}
しかし、それは私が必要としていたものではありません。