私はCDには、次のコードを使用している空き領域の量を決定しようとしています:CD-ROMの空き容量を調べるにはどうすればよいですか?
空き領域:0
CapacitySpace上記のコードを実行するManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_LogicalDisk WHERE DriveType =5"); foreach(ManagementObject mo in searcher.Get()) { Console.WriteLine("FreeSpace: "+mo["FreeSpace"].ToString()); Console.WriteLine("CapacitySpace: " + mo["Size"].ToString()); UInt64 usedspace = (UInt64)mo["Size"] - (UInt64)mo["FreeSpace"]; Console.WriteLine("UsedSpace: " + usedspace.ToString()); }
を、私は次のような出力を受け取ります:301463552
UsedSpace:301463552
理想的には、私は、Windowsは探検報告したいですr統計 - YYYの無料XXX。 Windowsエクスプローラは、702 MBのうち392 MBを解放していると報告しています。ありがとう!
アップデート(4月1日09):CDの空き領域を決定する機能は、WMIを超えて表示され、挿入されたディスクのファイルシステムに依存している 。私のテストによると、WindowsはCDフォーマットのCDFSの容量情報を表示しません。ただし、UDFでフォーマットされたCDの容量情報が表示されます。
また、私はhereと呼ばれるWMIを参照するための優れたネイティブユーティリティを配置しました。
これは私がやろうとしていることです。ただし、UsedSpaceは301463552バイト(287.49MB)と報告されており、414MB(702-287 = 415)の空き容量があると見なされます。 Explorerは392MBの空き容量があると報告しています。さらに、あなたのアプローチはCDでも効果的ですが、DVDの容量は異なります(http://tinyurl.com/c3y5ln)。 – Joel
私はまだmciSendString()を試していませんが、私は理論的な最大値を使用してあなたの初期のアドバイスを取ったのですが、どのタイプのディスクが挿入されているのか知っています - 私の味のために少しkludgeyです。 – Joel