1.查看磁盘使用情况
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 " ) + " (字节) " );
声明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 " ) + " (字节) " );