我正在寻找一种在计算机上获取设备列表时删除物理磁盘0的方法。
执行的命令如下:
ManagementObjectSearcher mosDisks = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject moDisk in mosDisks.Get())
{
driveList.Items.Add(moDisk["Model"].ToString());
}
谢谢你的帮助。
答案 0 :(得分:0)
ManagementObjectSearcher mosDisks = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject moDisk in mosDisks.Get())
{
if(!moDisk["DeviceId"].ToString().Contains("PHYSICALDRIVE0"))
{
driveList.Items.Add(moDisk["Model"].ToString());
}
}
或者更简单地说,将您的WQL更改为:
SELECT * FROM Win32_DiskDrive WHERE NOT NAME LIKE '%PHYSICALDRIVE0'
答案 1 :(得分:0)
如何才能可靠地识别物理磁盘驱动器0?
如果您注释掉添加到驱动器列表组合框,而是添加下面的代码片段,您可以看到ManagementObject的属性并决定使用哪个:
foreach(var prop in moDisk.Properties)
{
Console.WriteLine("{0}: {1}", prop.Name, prop.Value);
}
例如(我没有足够的驱动器确定)你可能想要排除索引0,你可以通过在循环中检查而不是添加到组合框或更新你的选择来做:
select * from Win32_DiskDrive where Index <> 0
您也可以选择型号而不是*