私は .net winforms アプリケーションを作成しています。システム上のすべてのハード ドライブを列挙できるようにしたいと考えています。
さらに、どのドライブが固定され、どのドライブがリムーバブルであるかを判断できるようにしたいと考えています。
最後に、リムーバブル ドライブのうち、どれがフラッシュ (SSD またはサム) ドライブであるか、標準のハード ドライブであるかを判断できるようにしたいと考えています。
私は .net winforms アプリケーションを作成しています。システム上のすべてのハード ドライブを列挙できるようにしたいと考えています。
さらに、どのドライブが固定され、どのドライブがリムーバブルであるかを判断できるようにしたいと考えています。
最後に、リムーバブル ドライブのうち、どれがフラッシュ (SSD またはサム) ドライブであるか、標準のハード ドライブであるかを判断できるようにしたいと考えています。
最初の 2 点については、以下が必要です。リムーバブル ドライブがソリッド ステート ベースかハード ドライブ ベースかを判断するには、WMI に切り替える必要があるかもしれません。
foreach(DriveInfo info in DriveInfo.GetDrives())
{
Console.WriteLine(info.Name + ":" + info.DriveType);
}
DriveType Enumからすべてのドライブとそのタイプのリストを作成します。
これには、WMI を使用できます。Win32_DiskDriveまたはWin32_LogicalDiskが必要です。
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
{
if (drive.DriveType == DriveType.Fixed)
{
// Do something
}
else if (drive.DriveType == DriveType.Removable)
{
// Do something else
}
}
しかし、それがフラッシュ、SSD、またはハードドライブかどうかを判断する方法がわかりません...おそらくWMIを使用しています