Bob King のアイデアからのアイデアを使用して、次のメソッドを作成しました。
CD、リムーバブル ドライブ、通常のドライブでうまく機能します。
ただし、フロッピーの場合は常に「Not Available」が返されます。何か案は?
public static void TestFloppy( char driveLetter ) {
using( var searcher = new ManagementObjectSearcher( @"SELECT * FROM Win32_LogicalDisk WHERE DeviceID = '" + driveLetter + ":'" ) )
using( var logicalDisks = searcher.Get() ) {
foreach( ManagementObject logicalDisk in logicalDisks ) {
var fs = logicalDisk[ "FreeSpace" ];
Console.WriteLine( "FreeSpace = " + ( fs ?? "Not Available" ) );
logicalDisk.Dispose();
}
}
}