2014-05-20 28 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下的某个位置。在这种情况下,您可以根据提供者名称进行查找。 –