通过以下链接,我可以获得硬盘空间。
但是如果我连接了一个辅助硬盘,它就不会显示它的细节。
如何循环硬盘数量并检索其空间?
我想在循环扇区中得到它。获取harddisk1中的驱动器的硬盘数量和循环,然后在harddisk2中循环驱动器。
答案 0 :(得分:1)
使用Windows API的GetLogicalDriveStrings
功能。
std::vector< std::basic_string<TCHAR> > drives;
TCHAR szBuffer[1024];
::GetLogicalDriveStrings(1024, szBuffer);
TCHAR *pCurrentDrive = szBuffer;
while (*pCurrentDrive)
{
drives.push_back( pCurrentDrive );
pCurrentDrive = &pCurrentDrive[_tcslen(pCurrentDrive) + 1];
}
然后为GetDiskFreeSpaceEx
向量中的每个元素调用drives
。
您也可以使用GetLogicalDrives
函数,它将驱动器作为位掩码返回。但是,我认为GetLogicalDriveStrings
在这种情况下更简单,因为它将驱动器作为字符串返回,您可以直接传递给GetDiskFreeSpaceEx
。
答案 1 :(得分:0)
怎么样:
for (char drive = 'a'; drive <= 'z'; drive++)
{
// Get for amount for `drive`
}
对于那些想知道的人......是的,这很天真,可能很耗时。