ASP.NET 磁盘操作(二)

作者:vkvi 来源:千一网络(原创) 日期:2007-6-22

除了使用 System.IO.DriveInfo(Whidbey 方式)来获取磁盘信息外,还可以使用另外两种方法,这里作个简单的说明。

WMI 方式

使用 ManagementObject。

ManagementObject 的名称空间是:

System.Management

ManagementObject 的程序集是:

System.Management(在 System.Management.dll 中)

名称空间和程序集默认都是没有导入的。程序集可以在工程的属性中导入。

示例:

ManagementObject disk = new ManagementObject("Win32_LogicalDisk.deviceid=\"C:\""); ;
disk.Get();
long size = Convert.ToInt64(disk["Size"]);
long freeSpace = Convert.ToInt64(disk["FreeSpace"]);

interop 方式

分三步。

第一步、导入名称空间:

using System.Runtime.InteropServices;

第二步、引入函数:

[DllImport("kernel32.dll")]
public static extern bool GetDiskFreeSpaceEx(
    string lpDirectoryName,
    out UInt64 lpFreeBytesAvailable,
    out UInt64 lpTotalNumberOfBytes,
    out UInt64 lpTotalNumberOfFreeBytes);

第三步、调用这个函数:

ulong freeBytesAvailable = 0;
ulong totalNumberOfBytes = 0;
ulong totalNumberOfFreeBytes = 0;
GetDiskFreeSpaceEx("c:\\",
    out freeBytesAvailable,
    out totalNumberOfBytes,
    out totalNumberOfFreeBytes);

相关阅读

你前面那位网友看了:VC# 给 TextBox 增加提示框

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
标题:必填
内容:
本站永远终止与捏造“罪名”不支付广告费的某度联盟合作。
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他