获取电脑上所有移动磁盘的盘符列表(包括U盘、移动硬盘)

zengxiangzhi1988 2015-12-29 10:38:19
想获取电脑上所有移动磁盘的列表,在网上搜了好多,都只能获取U盘的,移动硬盘无法识别。
后来搜到一个“ManagementClass”的类,仔细看了下,可以用来获取所有移动磁盘。写了个函数,供需要的人使用。


private string[] GetMobileDiskList()
{
System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc = mc.GetInstances();
List<string> drs = new List<string>();
foreach (ManagementObject mo in moc)
{
if (mo.Properties["InterfaceType"].Value.ToString() != "USB")
continue;
foreach (ManagementObject mo1 in mo.GetRelated("Win32_DiskPartition"))
{
foreach (ManagementBaseObject mo2 in mo1.GetRelated("Win32_LogicalDisk"))
{
drs.Add(mo2.Properties["Name"].Value.ToString());
}

}
}
return drs.ToArray();
}
...全文
190 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧