vc 查看硬盘盘符剩余空间

  1. string strtemp = "c:\\123\\456\\789.txt";  
  2.     char uuu[2] = {0};  
  3.     uuu [0]= strtemp[0];  
  4.     CString firstchar = uuu;  
  5.     CString strRootPath=firstchar + ":\\";  
  6.     /*CString strRootPath="E:\\123.txt";*///带根目录标记的磁盘符号  
  7.     DWORD dwSectorsPerCluster=0;//每簇中扇区数  
  8.     DWORD dwBytesPerSector=0;//每扇区中字节数  
  9.     DWORD dwFreeClusters=0;//剩余簇数  
  10.     DWORD dwTotalClusters=0;//总簇数  
  11.     if (GetDiskFreeSpace(strRootPath,&dwSectorsPerCluster,&dwBytesPerSector,  
  12.         &dwFreeClusters,&dwTotalClusters))  
  13.     {  
  14.         //m_dwVolSize=dwTotalClusters*dwSectorsPerCluster*dwBytesPerSector;//不能这样,否则越界  
  15.         double dd=dwSectorsPerCluster*dwBytesPerSector/(1024.*1024.);  
  16.         dd=dd/1024.;  
  17.         double m_dFree=dwFreeClusters*dd;//该磁盘剩余容量总大小  
  18.         if (m_dFree < 1)  
  19.         {  
  20.             WriteToLogAndTime("硬盘空间小于1G,请清理空间");  
  21.             AfxMessageBox("硬盘空间小于1G,请清理空间");  
  22.         }  
  23.     } 
posted on 2015-05-29 10:02  carekee  阅读(1825)  评论(0编辑  收藏  举报