我正在尝试在本地计算机上获取所有物理驱动器。
我尝试使用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;
}
}
}
如何才能获得物理上可用的驱动器?
答案 0 :(得分:2)
尝试使用wmic
wmic diskdrive list
获取更少信息
wmic diskdrive list brief
或者在c中使用GetLogicalDrives()首先获取系统中映射的所有驱动器,然后使用GetDriveType()找出每个驱动器的类型。然后根据需要对其进行排序。