获取磁盘可用容量
using System.Runtime.InteropServices;
声明api
/// <summary>
///
/// </summary>
/// <param name="lpDirectoryName">磁盘根目录</param>
/// <param name="lpFreeBytesAvailable">调用者可用的字节数量(NTFS下有可能和 lpTotalNumberOfFreeBytes 不同)</param>
/// <param name="lpTotalNumberOfBytes">磁盘总字节数</param>
/// <param name="lpTotalNumberOfFreeBytes">磁盘可用的字节数</param>
/// <returns></returns>
[DllImport("Kernel32.dll",CharSet=CharSet.Auto)]
static extern bool GetDiskFreeSpaceEx(string lpDirectoryName
,ref Int64 lpFreeBytesAvailable
,ref Int64 lpTotalNumberOfBytes
,ref Int64 lpTotalNumberOfFreeBytes);
//使用
Int64 lpFreeBytesAvailable =0;
Int64 lpTotalNumberOfBytes = 0;
Int64 lpTotalNumberOfFreeBytes = 0;
bool isok = GetDiskFreeSpaceEx("k:\",ref lpFreeBytesAvailable,ref lpTotalNumberOfBytes,ref lpTotalNumberOfFreeBytes);
MessageBox.Show("磁盘可用:"+ lpTotalNumberOfFreeBytes.ToString("N0") + "(字节)");
浙公网安备 33010602011771号