我正在尝试获取本地机器上可用的所有物理驱动器。
我尝试使用 GetLogicalDrives()
但是当我使用这个函数时,它也让我得到了机器上物理上不可用的驱动器,例如软盘驱动器 A。
这是我的代码:
void FindDrives()
{
DWORD drives = GetLogicalDrives();
for (int i=0; i<26; i++)
{
if( ( drives & ( 1 << i ) ) )
{
wchar_t driveName[] = { L'A' + i, L':', L'\\', L'\0'};
std::wcout << driveName << std::endl;
}
}
}
我怎样才能只获得实际可用的驱动器?
最佳答案
尝试使用 wmic
wmic diskdrive list
信息较少
wmic diskdrive list brief
或者,在 c 中,首先使用 GetLogicalDrives() 获取系统中映射的所有驱动器,然后使用 GetDriveType() 找出每个驱动器的类型。然后根据需要对其进行排序。
关于c++ - 在本地机器上获取可用的物理驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13025994/