检测磁盘是否为闪存驱动器
我想编写检测闪存驱动器的程序。
但有一个问题。
代码:检测磁盘是否为闪存驱动器
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo drive in DriveInfo.GetDrives())
{
if (drive.DriveType == DriveType.Removable)
{
}
}
它运作良好,但它检测到光驱了。如何预防它?
我没有回答为什么你的代码不工作。但是,如果你想检测的USB设备,你也可以与WMI这样的尝试:
ManagementObjectCollection drives = new ManagementObjectSearcher(
"SELECT Caption, DeviceID FROM Win32_DiskDrive WHERE InterfaceType='USB'"
).Get();
的System.Management组件添加到您的项目做这样的。
谢谢,现在就测试。 – Mudzay
我添加了System.Management程序集,但此代码不起作用。我得到“无法找到类型或名称空间名称'ManagementObjectCollection'(您是否缺少使用指令或程序集引用?”)错误 – Mudzay
在此处查看如何添加缺少的程序集:https://msdn.microsoft.com/ de-de/library/ee231595%28v = vs.110%29.aspx这里也是一个例子:http://*.com/questions/2157133/how-do-i-add-an-assembly-to-a -visual-studio-project-and-reference-it你必须将System.Management程序集添加到你的项目 – Fruchtzwerg
这表明您的计算机报告了cdrom驱动器的错误类型。你有一些光盘刻录软件可能导致这种情况吗? –
我不使用任何刻录软件,因为我不真正刻录CD和DVD的顺便说一句。我的电脑现在正在运行Windows 10,但我将很快安装Windows 7 – Mudzay
我之前检查过Windows 7,所以我只是为了确保我也检查了Windows 10。它仍然看起来像您的计算机报告了光驱的错误类型。它是否通过USB连接? (我没有一个USB DVD驱动器来检查。) –