BOOL CABCToolDlg::CheckDiskSpace(CHAR cDiskLable, CString csPcFilePath)
{
// 判断磁盘空间是否大于文件大小
CString csDisk;
csDisk.Format("%c", cDiskLable);
csDisk += ":";
ULARGE_INTEGER pDiskUserAvalibleSpace;
ULARGE_INTEGER pDiskTotalSpace;
ULARGE_INTEGER pDiskRemainSpace;
CString csErrorOfDiskSpace = csDisk;
if(GetDiskFreeSpaceEx((LPCTSTR)csDisk, &pDiskUserAvalibleSpace, &pDiskTotalSpace, &pDiskRemainSpace))
{
DWORD64 nFileSize = GetFolderSize(csPcFilePath);
if (pDiskUserAvalibleSpace.QuadPart < nFileSize)
{
csErrorOfDiskSpace += "盘剩余空间小于拷贝的文件大小!";
AfxMessageBox(csErrorOfDiskSpace);
return FALSE;
}
}
else
{
csErrorOfDiskSpace += "剩余空间获取失败!";
AfxMessageBox(csErrorOfDiskSpace);
return FALSE;
}
return TRUE;
}