void GetDriveSpaceInfo()
{
DWORD dwNum;//实际存储驱动器号的字符串长度
HANDLE hHeap;
LPSTR lp;//存放盘符
//获得实际存储驱动器号的字符串长度
dwNum=GetLogicalDriveStrings(0,NULL)*sizeof(TCHAR);
//如果字符串不为空,则表示有驱动器存在
if (dwNum!=0)
{
//分配字符串空间
hHeap=GetProcessHeap();
lp=(LPSTR)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,dwNum);
//获得标明所有驱动器的字符串
GetLogicalDriveStrings(HeapSize(hHeap,0,lp),lp);
while (*lp!=0)
{ printf("磁盘%s\n",lp);
//获得磁盘空间信息
ULARGE_INTEGER FreeAv,TotalBytes,FreeBytes;
if (GetDiskFreeSpaceEx(lp,&FreeAv,&TotalBytes,&FreeBytes))
{
printf(" 总大小:%luG\n",TotalBytes.QuadPart/(ULONGLONG)(1024*1024*1024));
printf(" 可用空间:%luG\n",FreeBytes.QuadPart/(ULONGLONG)(1024*1024*1024));
}
lp=_tcschr(lp,0)+1;
}
}
}
磁盘空间信息
最新推荐文章于 2022-11-13 19:09:32 发布