[DllImport("kernel32.dll", EntryPoint="GetDiskFreeSpaceExA")]
public static extern int GetDiskFreeSpaceEx (
string lpRootPathName,
out long lpFreeBytesAvailable,
out long lpTotalNumberOfBytes,
out long lpTotalNumberOfFreeBytes
);
Usage:
long a,b,c;
GetDiskFreeSpaceEx(@"D:\",out a,out b,out c);
public static extern int GetDiskFreeSpaceEx (
string lpRootPathName,
out long lpFreeBytesAvailable,
out long lpTotalNumberOfBytes,
out long lpTotalNumberOfFreeBytes
);
Usage:
long a,b,c;
GetDiskFreeSpaceEx(@"D:\",out a,out b,out c);
解决方案 »
- BackgroundWorker的一个小问题,RunWorkerCompleted怎么接受异常
- C# 截取字符串问题?高手指点。
- C# 哪种方式获取网页代码最快(含COOKIES的)
- C#语音聊天的问题
- DataAdapter的Update( DS , "表名" )会自动将数据表的行状态更新为Unchanged状态,怎么才能去掉这个功能。我想手动更新行状态。
- 如何用C#来启动WINDOWS帐号及为文件夹添加帐号
- 求助,怎么穿过路由器访问内网的计算机实现消息收发,类似QQ...在线等!
- 关于进程,请各位帮忙
- C#能否绘制已知三组数据的三维曲线图,三组数据随着循环次数更新??
- vs中c#的类名颜色可以设置高亮吗?
- 关于sqlConnection的问题
- 【源码分享】17K小说网小说下载
MessageBox()API可以用System.Windows.Form.MessageBox.Show()来完成。
using System;
using System.Windows.Form; // 要添加System.Windows.Form引用
using System.Management; // 要添加System.Management引用
//... public void Test()
{
ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
disk.Get();
Console.WriteLine("Logical Disk Size = " + disk["Size"] + " bytes");
Console.WriteLine("Logical Disk FreeSpace = " + disk["FreeSpace"] + "bytes"); System.Windows.Form.MessageBox.Show( "hello" );
}
至于GetDiskFreeSpace()API,第一个参数有错误,用string就可以了,而不要用ref string。