获取磁盘可用容量

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")   +   "(字节)");

posted on 2008-04-01 14:39  步走高飞  阅读(167)  评论(0)    收藏  举报

导航