Windowsでサポートされていないファイルシステム用にC#でユーティリティを作成しています。つまり、ドライブにアクセスするだけでは不十分です。ハードディスク上のすべてのパーティションを一覧表示し、それらを書き込み/フォーマットする方法が必要です。
7269 次
2 に答える
8
ディスクパーティションを一覧表示するには、WMIを使用できます。
var searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_DiskPartition");
foreach (var queryObj in searcher.Get())
{
Console.WriteLine("-----------------------------------");
Console.WriteLine("Win32_DiskPartition instance");
Console.WriteLine("Name:{0}", (string)queryObj["Name"]);
Console.WriteLine("Index:{0}", (uint)queryObj["Index"]);
Console.WriteLine("DiskIndex:{0}", (uint)queryObj["DiskIndex"]);
Console.WriteLine("BootPartition:{0}", (bool)queryObj["BootPartition"]);
}
于 2011-07-04T20:32:50.183 に答える
1
次のアプローチを使用して、ディスクのパーティションがマウントされているボリュームまたはDriveLetterを取得できます。
- Win32_LogicalDiskToPartition
- Win32_DiskDrive
Win32_DiskDrive
クラスから、DriveNumber
プロパティをクエリするか、 from属性をIndex
抽出することでを取得できます。次に、クエリとから 。値には、ディスク番号とボリュームをマップしようとしているパーティションが表示されます。その後、プロパティから「C:」、「D:」などを抽出します。したがって、このロジックを使用することで、特定のにマウントすることができます。コンポーネントでこのロジックを使用して、システム上の特定のハードドライブの名前(「C:」、「D:」など)を取得しています。DriveNumber
Name
Antecedent
Dependent
Win32_LogicalDiskToPartition
Antecedent
DriveLetter
Dependent
LogicalDrives
HardDisk
LogicalDrive
于 2015-02-03T06:40:24.530 に答える