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;

}

posted on 2009-04-08 09:46  安静的蝈蝈  阅读(220)  评论(0)    收藏  举报

导航