方法一:利用System.IO.DriveInfo.GetDrives方法來擷取
<code>/// </code>
<code> </code><code>/// 擷取指定驅動器的空間總大小(機關為B)</code>
<code> </code><code>/// </code>
<code> </code><code>/// 隻需輸入代表驅動器的字母即可 (大寫)</code>
<code> </code><code>/// </code>
<code> </code><code>public</code> <code>static</code> <code>long</code> <code>GetHardDiskSpace(</code><code>string</code> <code>str_HardDiskName)</code>
<code> </code><code>{</code>
<code> </code><code>long</code> <code>totalSize=</code><code>new</code> <code>long</code><code>();</code>
<code> </code><code>str_HardDiskName=str_HardDiskName +</code><code>":\\"</code><code>;</code>
<code> </code><code>System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();</code>
<code> </code><code>foreach</code> <code>(System.IO.DriveInfo drive</code><code>in</code> <code>drives)</code>
<code> </code><code>{</code>
<code> </code><code>if</code> <code>(drive.Name == str_HardDiskName)</code>
<code> </code><code>{</code>
<code> </code><code>totalSize = drive.TotalSize / (1024 * 1024 * 1024);</code>
<code> </code><code>}</code>
<code> </code><code>}</code>
<code> </code><code>return</code> <code>totalSize;</code>
<code> </code><code>}</code>
<code> </code><code>/// 擷取指定驅動器的剩餘空間總大小(機關為B)</code>
<code> </code><code>/// 隻需輸入代表驅動器的字母即可 </code>
<code> </code><code>public</code> <code>static</code> <code>long</code> <code>GetHardDiskFreeSpace(</code><code>string</code> <code>str_HardDiskName)</code>
<code> </code><code>long</code> <code>freeSpace =</code><code>new</code> <code>long</code><code>();</code>
<code> </code><code>str_HardDiskName = str_HardDiskName +</code><code>":\\"</code><code>;</code>
<code> </code><code>freeSpace = drive.TotalFreeSpace / (1024 * 1024 * 1024);</code>
<code> </code><code>return</code> <code>freeSpace;</code>
方法二:利用ManagementClass("Win32_LogicalDisk")來擷取
<code>List<Dictionary<</code><code>string</code><code>,</code><code>string</code><code>>> diskInfoDic =</code><code>new</code> <code>List<Dictionary<</code><code>string</code><code>,</code><code>string</code><code>>>();</code>
<code>ManagementClass diskClass =</code><code>new</code> <code>ManagementClass(</code><code>"Win32_LogicalDisk"</code><code>);</code>
<code> </code><code>ManagementObjectCollection disks = diskClass.GetInstances();</code>
<code> </code><code>foreach</code><code>(ManagementObject disk</code><code>in</code> <code>disks)</code>
<code> </code><code>Dictionary<</code><code>string</code><code>,</code><code>string</code><code>> diskInfo =</code><code>new</code> <code>Dictionary<</code><code>string</code><code>,</code><code>string</code><code>>();</code>
<code> </code><code>try</code>
<code> </code><code>// 磁盤名稱</code>
<code> </code><code>diskInfo[</code><code>"Name"</code><code>] =disk[</code><code>"Name"</code><code>].ToString();</code>
<code> </code><code>// 磁盤描述</code>
<code> </code><code>diskInfo[</code><code>"Description"</code><code>]=disk[</code><code>"Description"</code><code>].ToString();</code>
<code> </code><code>// 磁盤總容量,可用空間,已用空間</code>
<code> </code><code>if</code> <code>(System.Convert.ToInt64(disk[</code><code>"Size"</code><code>]) > 0)</code>
<code> </code><code>{</code>
<code> </code><code>long</code> <code>totalSpace = System.Convert.ToInt64(disk[</code><code>"Size"</code><code>]) / MB;</code>
<code> </code><code>long</code> <code>freeSpace = System.Convert.ToInt64(disk[</code><code>"FreeSpace"</code><code>]) / MB;</code>
<code> </code><code>long</code> <code>usedSpace = totalSpace - freeSpace;</code>
<code> </code><code>diskInfo[</code><code>"totalSpace"</code><code>]=totalSpace.ToString();</code>
<code> </code><code>diskInfo[</code><code>"usedSpace"</code><code>]=usedSpace.ToString();</code>
<code> </code><code>diskInfo[</code><code>"freeSpace"</code><code>]=freeSpace.ToString();</code>
<code> </code><code>}</code>
<code> </code><code>diskInfoDic.Add(diskInfo);</code>
<code> </code><code>catch</code><code>(Exception ex)</code>
<code> </code><code>Throw ex;</code>
<code><strong><br></strong></code>
本文轉自 夢在旅途 部落格園部落格,原文連結:http://www.cnblogs.com/zuowj/p/4173457.html ,如需轉載請自行聯系原作者