2012-01-06 136 views

回答

0

您可以開始與C#DriveInfo類:

DriveInfo[] allDrives = DriveInfo.GetDrives(); 

    foreach (DriveInfo d in allDrives) 
    { 
     Console.WriteLine("Drive {0}", d.Name); 
     Console.WriteLine(" File type: {0}", d.DriveType); 
     if (d.IsReady == true) 
     { 
      Console.WriteLine(" Volume label: {0}", d.VolumeLabel); 
      Console.WriteLine(" File system: {0}", d.DriveFormat); 
      Console.WriteLine(
       " Available space to current user:{0, 15} bytes", 
       d.AvailableFreeSpace); 

      Console.WriteLine(
       " Total available space:   {0, 15} bytes", 
       d.TotalFreeSpace); 

      Console.WriteLine(
       " Total size of drive:   {0, 15} bytes ", 
       d.TotalSize); 
     } 
    } 

http://msdn.microsoft.com/en-us/library/system.io.driveinfo.aspx

或這可能會有幫助:

Get List of connected USB Devices

+2

Compact Framework中沒有'DriveInfo'類。 – ctacke 2012-12-19 17:31:51

0

文件夾名稱本地化,因此改變從設備到設備。我這樣做的方式是從驅動程序用於獲取名稱的相同註冊表位置查詢它:

using(var key = Registry.LocalMachine.OpenSubKey(
       @"\System\StorageManager\Profiles\USBHDProfile")) 
{ 
    USBDiskFolderName = key.GetValue("Folder").ToString(); 
} 
+0

它顯示名稱爲'可移動磁盤'。我想要的是;如果我已經命名usb說「Anant」,那麼這個名字應該被檢測到,因爲它是Anant。但它總是顯示'可移動磁盤'。我的查詢是做平臺的系統映像在這裏做的一部分;它向用戶顯示的方式呢? – Anant 2012-12-26 12:16:06

+0

因此,您想要更改裝入文件夾的名稱,或者您是否在格式化時嘗試將標籤分配給驅動器?當您構建操作系統映像時,安裝的文件夾名稱會被設置。 – ctacke 2012-12-26 13:28:06

+0

是的,我試圖在格式化時將標籤名稱分配給驅動器。 – Anant 2012-12-31 06:36:14