通过以下链接,我可以获得硬盘空间。
但是,如果我连接辅助硬盘,它不会显示它的详细信息。
如何循环硬盘数量并检索它们的空间?
我想把它放在一个循环领域。获取硬盘数量并循环访问 harddisk1 中的驱动器,然后循环访问 harddisk2 中的驱动器。
通过以下链接,我可以获得硬盘空间。
但是,如果我连接辅助硬盘,它不会显示它的详细信息。
如何循环硬盘数量并检索它们的空间?
我想把它放在一个循环领域。获取硬盘数量并循环访问 harddisk1 中的驱动器,然后循环访问 harddisk2 中的驱动器。
使用 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
直接传递的字符串返回。
怎么样:
for (char drive = 'a'; drive <= 'z'; drive++)
{
// Get for amount for `drive`
}
对于那些想知道的人......是的,这是非常幼稚的并且可能很耗时。