WMI搜索本地磁盘
获取一个最大的磁盘
private string GetDiskPath()
{
string drname = userConfig.CachePath;
ManagementObject maxDisk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
//3代表磁盘5代表光驱2代表移动磁盘
SelectQuery sq = new SelectQuery("select * from win32_logicaldisk where DriveType=3");//这样用where排除网络磁盘和软驱之类的,不然获得它们的信息特别面
ManagementObjectSearcher mos = new ManagementObjectSearcher(sq);
foreach (ManagementObject mo in mos.Get())
{
if (Directory.Exists(mo["Name"].ToString() + @"\" + drname))
{
return mo["Name"].ToString() + @"\" + drname;
}
else if (Convert.ToInt64(mo["FreeSpace"]) > Convert.ToInt64(maxDisk["FreeSpace"]))
{
maxDisk = mo;
}
}
return maxDisk["Name"].ToString() + @"\" + drname;
}
浙公网安备 33010602011771号