Frage

eine Idee Verwendung von Bob King Idee, die mir die folgende Methode geschrieben hat.

Es funktioniert auf CDs, Wechsellaufwerke, regelmäßige Laufwerke.

Doch für eine Floppy Sie ihn immer wieder „Nicht verfügbar“. Irgendwelche Ideen?

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();
        }
    }
}
War es hilfreich?

Lösung

Es tut mir leid, dass ich nicht eine bessere Antwort haben, aber ich verwendet, um die gleiche Sache zu tun (das Managementobject verwenden) und dass jedes Mal fand der Code das Diskettenlaufwerk lief würde suchen / init-Sequenz eine Art tun.

Also statt änderte es auf die unten und Interate:

ManagementClass comp = new ManagementClass(scope, new ManagementPath(obj), null);
comp.Get();
objs = comp.GetInstances();

Ich möchte sagen, dass dies ein bekannter Fehler in WMI ist aber leider sind die Code Kommentare hinterlassen keine Hinweise: (

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top