![](/img/trans.png)
[英]How to get free space of all logical drives of hard disk using WMI in C++?
[英]Get the space of Secondary hard disk - c++
通過下面的鏈接,我可以獲得硬盤空間。
但是,如果我連接輔助硬盤,則不會顯示其詳細信息。
如何循環使用硬盤數量並檢索它們的空間?
我想在循環領域中做到這一點。 獲取硬盤計數並為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];
}
然后為drives
矢量中的每個元素調用GetDiskFreeSpaceEx
。
您也可以改用GetLogicalDrives
函數,該函數將驅動器作為位掩碼返回。 但是,我認為GetLogicalDriveStrings
在這種情況下更簡單,因為它以字符串形式返回驅動器,您可以將這些驅動器直接傳遞給GetDiskFreeSpaceEx
。
怎么樣:
for (char drive = 'a'; drive <= 'z'; drive++)
{
// Get for amount for `drive`
}
對於那些想知道的人...是的,這非常幼稚並且可能很耗時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.