时间:2021-05-20
网上找了很久关于C#检测移动硬盘并获取盘符的代码但没能找到,所以只能自己解决了
C#获取所有硬盘
var arr = DriveInfo.GetDrives();
得出的所有磁盘,发现对于移动硬盘,DriveType 不是 Removable 类型,而是 Fixed 枚举类型。
C#检测移动硬盘,网上找了很久,没有现成正确的代码,只有自己想办法了。
代码如下:
public static List<string> GetListDisk() { List<string> lstDisk = new List<string>(); ManagementClass mgtCls = new ManagementClass("Win32_DiskDrive"); var disks = mgtCls.GetInstances(); foreach (ManagementObject mo in disks) { //if (mo.Properties["InterfaceType"].Value.ToString() != "SCSI" // && mo.Properties["InterfaceType"].Value.ToString() != "USB" // ) // continue; if (mo.Properties["MediaType"].Value == null || mo.Properties["MediaType"].Value.ToString() != "External hard disk media") { continue; } //foreach (var prop in mo.Properties) //{ // Console.WriteLine(prop.Name + "\t" + prop.Value); //} foreach (ManagementObject diskPartition in mo.GetRelated("Win32_DiskPartition")) { foreach (ManagementBaseObject disk in diskPartition.GetRelated("Win32_LogicalDisk")) { lstDisk.Add(disk.Properties["Name"].Value.ToString()); } } //Console.WriteLine("-------------------------------------------------------------------------------------------"); } return lstDisk; }此代码是通过找 Win32_DiskDrive,Win32_DiskPartition,Win32_LogicalDisk 对应的属性值的规律, 三个之间的关系 得出 移动硬盘的盘符的。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Win10电脑下移动硬盘不显示盘符如何解决?在Win10系统下,将移动硬盘插到电脑上,移动硬盘可以被正常识别并检测到但是不显示盘符,折腾了半天也没有找到解决方法
移动硬盘为什么打不开移动硬盘故障解决移动硬盘为什么打不开移动硬盘故障解决移动硬盘为什么打不开移动硬盘故障解决移动硬盘为什么打不开移动硬盘故障解决移动硬盘为什么打
最近有用户称遇到一个问题,在Win10系统下,将移动硬盘插到电脑上,移动硬盘可以被正常识别并检测到但是不显示盘符,折腾了半天也没有找到解决方法,先说明一下,
最近有用户称遇到一个问题,在Win10系统下,将移动硬盘插到电脑上,移动硬盘可以被正常识别并检测到但是不显示盘符,折腾了半天也没有找到解决方法,先说明一下,
移动硬盘2.0和3.0的区别如下: 一、接口不同 1、移动硬盘2.0:具有USB2.0接口的移动硬盘。 2、移动硬盘3.0:具有USB3.0接口的移动硬盘