나는 CD는 다음과 같은 코드를 사용하여 한 여유 공간의 양을 결정하려고 시도하고있다 :CD-ROM의 여유 공간을 어떻게 결정합니까?
의 FreeSpace : 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 : 이상적으로 301,463,552
에서 Windows를 살펴보고 싶습니다 r 통계 - YYY의 XXX 무료입니다. Windows 탐색기는 392MB (702MB)를보고합니다. 감사!
업데이트 (4월 1일 09) : CD의 여유 공간을 결정하는 능력이 WMI 넘어 나타나고 삽입 된 디스크의 파일 시스템에 의존 . 필자의 테스트 결과에 따르면 Windows는 CD 형식의 CDFS에 대한 용량 정보를 표시하지 않습니다. 그러나 UDF로 형식화 된 CD의 용량 정보를 표시합니다.
또한, 나는 here이라는 WMI 브라우징을위한 훌륭한 고유 유틸리티를 사용했습니다.
그게 내가하려는거야. 그러나 UsedSpace는 414MB (702-287 = 415)에 해당하는 301463552 바이트 (287.49MB)로보고됩니다. Explorer는 392MB의 여유 공간이 있다고보고합니다. 또한 CD에 대한 접근 방식은 잘되지만 DVD의 용량은 다릅니다 (http://tinyurl.com/c3y5ln). – Joel
아직 mciSendString()을 시도하지는 않았지만 어떤 유형의 디스크가 삽입되었는지 알기 때문에 이론적 인 최대 값을 사용하여 이전 조언을 취했습니다 - 내 취향에 조금 씩씩하지만 제한된 테스트에서 트릭을 수행합니다. – Joel