MFC 如何检测一个本地磁盘是移动硬盘还是电脑自带的磁盘

MFC 怎么检测一个本地磁盘是移动硬盘还是电脑自带的磁盘
MFC  怎么检测一个本地磁盘是移动硬盘还是电脑自带的磁盘

------解决方案--------------------

void ListAllDisks()
{
TCHAR szDrives[256] = {0};
DWORD dwNumberOfChars = ::GetLogicalDriveStrings(256, szDrives);
for (DWORD i = 0; i < dwNumberOfChars;)
{
_tprintf(_T("%c "), *(szDrives+i));
UINT driveType = ::GetDriveType(szDrives+i);
switch (driveType)
{
case DRIVE_NO_ROOT_DIR:
_tprintf(_T("no root dir"));break;
case DRIVE_REMOVABLE:
_tprintf(_T("removable media"));break;
case DRIVE_FIXED:
_tprintf(_T("fixed hard drive"));break;
case DRIVE_REMOTE:
_tprintf(_T("remote drive"));break;
case DRIVE_CDROM:
_tprintf(_T("cdrom"));break;
case DRIVE_RAMDISK:
_tprintf(_T("ramdisk"));break;
case DRIVE_UNKNOWN:
default:
_tprintf(_T("unknown type"));break;
}
_tprintf(_T("\n"));
i += wcslen(szDrives+i) +1;
}
}

不知道移动硬盘会认出什么类型,你试试吧
------解决方案--------------------
DRIVE_REMOVABLE