VC++ 如何得到硬盘已使用大小和未用大小

xijuanhui 2005-12-15 10:01:02
各位大虾,在VC++ 如何得到硬盘已使用大小和未用大小 ,先谢了。。。 在线等...
...全文
117 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lid0770 2005-12-21
  • 打赏
  • 举报
回复
UP
pomelowu 2005-12-15
  • 打赏
  • 举报
回复
ULARGE_INTEGER i64FreeAmount;
ULARGE_INTEGER i64TotalAmount;

GetDiskFreeSpaceEx(_T("C:\\"), &i64FreeAmount, &i64TotalAmount, NULL);
ldh_wizard2003 2005-12-15
  • 打赏
  • 举报
回复
请问:如何得到一个磁盘用户可以使用的第一个扇区号?
xijuanhui 2005-12-15
  • 打赏
  • 举报
回复
//
// 以下求硬盘的剩余空间
DWORD dw=GetLogicalDriveStrings(0,NULL);
LPTSTR pAllDrivers=new char[dw];
::GetLogicalDriveStrings(dw,pAllDrivers);
LPTSTR pDriver=pAllDrivers;
char tempDriver[26];
memset(tempDriver,'\0',26);
DWORD DriverNum=0;

unsigned __int64 l_free=0;
while(pDriver[0]!=0)
{
if (GetDriveType(pDriver)==DRIVE_FIXED \
&& GetDriveType(pDriver)!=DRIVE_REMOVABLE)
{
tempDriver[DriverNum++]=*pDriver;
ULARGE_INTEGER i64FreeAmount;
ULARGE_INTEGER i64TotalAmount;
CString ls_drivename=*pDriver;//tempDriver[DriverNum-1]
ls_drivename+=_T(":\\");
::GetDiskFreeSpaceEx(ls_drivename, &i64FreeAmount, &i64TotalAmount, NULL);
//unsigned __int64 l_total=i64TotalAmount.QuadPart;
l_free+=i64FreeAmount.QuadPart;

}
pDriver=_tcschr(pDriver,0)+1;

}

这个问题我解决,现贴上答案。。 谢谢pomelowu(羽战士) (

2,643

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧