2014-05-20 30 views
0

我一直在搜尋互聯網,試圖找到對此的答案,似乎無法找到任何東西。列出包含完整詳細信息的本地和網絡驅動器

我使用一個TreeView作爲鍛鍊; Tibial,試圖瞭解更多關於C#,並添加到一個文件重命名程序我一直在開發自己製作一個新的文件夾瀏覽器用戶控件。

我發現TreeView的是我的觸摸屏筆記本電腦小了點,所以我已經把它自己與更大圖標和+符號來創建它。現在

,第一件事,第一,我獲得的驅動器(包括本地和網絡)添加到我的TreeView的名單,但我似乎無法得到所有我所需要的信息。

在我的電腦(我使用的是Windows XP,但我要測試的其他版本,它說這臺電腦上),有11個對象顯示

編輯由於工作

使用System.IO我可以獲得一些正在顯示的內容,但不是全部。

我提供的選項包括: AvailableFreeSpace DriveFormat 的DriveType 的isReady 名稱 RootDirectory TOTALFREESPACE 總計TOTALSIZE 的VolumeLabel

使用P:\作爲一個例子,我得到如下:

AvailableFreeSpace = 30102499328 
DriveFormat   = NTFS 
DriveType   = Network    
IsReady    = True 
Name    = P:\ 
RootDirectory  = P:\ 
TotalFreeSpace  = 30102499328 
TotalSize   = 4397611224320 
VolumeLabel   = FileSystem6 (3Par) 

所以,沒有選項給我ED ITED在我的電腦中顯示的詳細信息。

任何人都可以告訴我如何獲得這些信息嗎?

任何幫助將不勝感激。

回答

0

您應該能夠使用WMI獲得您所需的內容。添加到System.Management.dll參考,並請嘗試以下操作:

System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_LogicalDisk"); 

System.Management.ManagementObjectCollection moc = mc.GetInstances(); 
if (moc.Count != 0) 
{ 
    foreach (System.Management.ManagementObject mo in mc.GetInstances()) 
    { 
     string providerName = string.Empty; 

     if (mo["ProviderName"] != null) 
     { 
      providerName = mo["ProviderName"].ToString(); 
     } 

     Console.WriteLine("\nName: {0}\nVolume Name: {1}\nProvider Name: {2}", 
          mo["Name"].ToString(), 
          mo["VolumeName"].ToString(), 
          providerName); 
    } 
} 

對於Win32_LogicalDisk類的其他屬性見http://msdn.microsoft.com/en-us/library/aa394173(v=vs.85).aspx

+0

謝謝! 這將帶回我需要的所有細節。 它不是我所期望的格式,但我可以操作數據以顯示與我的電腦相同的方式。 我注意到的一件小事是,DVD-RAM驅動器實際上顯示爲CD-ROM光盤。 這不是問題,但你有什麼想法爲什麼會發生,以及如何將其顯示爲DVD-RAM驅動器? –

+0

我想我說得太快了!我剛剛意識到在我的電腦中顯示的名稱不是數據的一部分。稱爲「File Cluster Itanium服務器 - Wintel Team(Mont949n01arc)」的驅動器僅具有Mont949n01arc作爲ProviderName的一部分。你能建議我如何得到這個細節? –

+0

@ user3406575這些描述可能是由資源管理器添加的。您是否在註冊表中搜索了'File Cluster Itanium Server'?它可能位於HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ MountPoints2下的某個位置。在這種情況下,您可以根據提供者名稱進行查找。 –