CString CurDiskNo; //当前录像的盘符号 CString TotalDiskSize; //当前录像盘的总大小 CString FreeDiskSize; //当前录像盘和剩余空间
char cName[4 * m_iMaxCount] = {0}; char sDiskPath[4 * m_iMaxCount] = {0}; GetModuleFileName(NULL, cName, sizeof(cName)); //得到当前运行程序的路径 CString sSettingFile; sSettingFile.Format("%s", cName); sSettingFile = sSettingFile.Left(sSettingFile.ReverseFind('//')); sSettingFile = sSettingFile + "//" + "Setting.ini";
//得到配置文件的全路径,录像盘的盘符保存在Setting.ini中 GetPrivateProfileString("disk", "path", NULL, sDiskPath, sizeof(sDiskPath), sSettingFile);
//从配置文件中得到盘符 char DiskName[4]; DiskName[0] = sDiskPath[0]; DiskName[1] = sDiskPath[1]; DiskName[2] = sDiskPath[2]; DiskName[3] = '/0'; ULARGE_INTEGER lpuse; ULARGE_INTEGER lptotal; ULARGE_INTEGER lpfree; GetDiskFreeSpaceEx(DiskName,&lpuse,&lptotal,&lpfree);
//得到DiskName盘符的的总容量、已用空间大小、剩余空间大小 TotalDiskSize.Format("总空间:%4.2fGB",lptotal.QuadPart/1024.0/1024.0/1024.0); FreeDiskSize.Format("可用空间:%4.2fGB",lpfree.QuadPart/1024.0/1024.0/1024.0); CurDiskNo.Format("当前磁盘:%s",sDiskPath);
Setting.ini文件内容如下:
[package] time=1 [disk] path=E:/
那么上面的DiskName就是 E:/ 得到的就是E盘的空间大小 这里是把Setting.ini文件放到执行文件的目录下的
|