2011-05-24 19 views

cevap

11

Evet, bu mümkündür. System.IO.DriveInfo class'un DriveFormat property numaralı sorgusunu sorgulayın.

public static void Main() 
{ 
    DriveInfo[] allDrives = DriveInfo.GetDrives(); 

    foreach (DriveInfo d in allDrives) 
    { 
     Console.WriteLine("Drive {0}", d.Name); 
     Console.WriteLine("Type: {0}", d.DriveFormat); 
    } 
} 
+0

Teşekkürler, işte bu! – Simon

+0

Sanırım d.DriveFormat'ı kastettin mi? – SepehrM

+0

@Sepehr Evet, teşekkürler. Kod örneğine ne olduğunu bilmiyorum. Bir grup rastgele alan demek istemedim, ne de "Dosya türü" demek istemedim. –

2

Ben de GetVolumeInformation işlevinde ilginç olabilir düşünüyorum.


Ayrıca WMI kullanabilir, örneğin, bu tür bilgileri elde etmek için nesneleri [DÜZ]:

using System.Management; 
..... 
ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\""); 
disk.Get(); 
MessageBox.Show(disk["FreeSpace"] + " bytes"); // Displays disk free space 
MessageBox.Show(disk["VolumeName"].ToString()); // Displays disk label 
MessageBox.Show(disk["FileSystem"].ToString()); // Displays File system type 

Win32_LogicalDisk sınıfının Tüm kullanılabilir özelliklerinin listesi için here bkz.

+0

'DriveInfo' işlevi bu çok işlevli etrafında yönetilen bir sarıcıdır. Yani, P/Invoke ve işlevi kendiniz çağırmak için çok az sebep var. –

+0

@Cody Grey: Evet, haklısın, ama OP sürücü diski seri numarasını okumak isteyebilir, bildiğim kadarıyla bu DriveInfo ile mümkün değil –

İlgili konular