WMI&を使用してフロッピードライブをテストできますかSystem.Management名前空間?

StackOverflow https://stackoverflow.com/questions/154754

  •  03-07-2019
  •  | 
  •  

質問

フロッピーが挿入された状態を見つけます:

  • フロッピーが挿入されていません
  • 未フォーマットのフロッピーが挿入されました
  • フォーマット済みフロッピーが挿入されました

「WMI」を使用してこれを判断できますか? System.Management名前空間にありますか?

その場合、フロッピー挿入状態が変更されたときにイベントを生成できますか?

役に立ちましたか?

解決 2

Bob Kingsのアイデアを使用して、次のメソッドを作成しました。

CD、リムーバブルドライブ、通常のドライブで最適に動作します。

ただし、フロッピーの場合は常に「使用不可」を返します。

    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();
            }
        }
    }

他のヒント

スクリプティングセンター@ MSDN

strComputer = "."
Set objWMIService = GetObject( _
    "winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
    ("Select * From Win32_LogicalDisk Where DeviceID = 'A:'")

For Each objItem in colItems
    intFreeSpace = objItem.FreeSpace
    If IsNull(intFreeSpace) Then
        Wscript.Echo "There is no disk in the floppy drive."
    Else
        Wscript.Echo "There is a disk in the floppy drive."
    End If
Next

Win32_LogicalDiskクラス

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top