VC++获取U盘盘符(各种类型的驱动器都可以)

来源:互联网 发布:殷都区水冶镇豫广网络 编辑:程序博客网 时间:2024/05/21 10:44
CString GetUDiskRoot(){CString UDiskRoot = "";UINT DiskType;size_t szAllDriveStr = GetLogicalDriveStrings(0,NULL);char *pDriveStr = new char[szAllDriveStr + sizeof(_T(" "))];char *pForDelete = pDriveStr;GetLogicalDriveStrings(szAllDriveStr,pDriveStr);size_t szDriveStr = strlen(pDriveStr);while(szDriveStr > 0){DiskType = GetDriveType(pDriveStr);switch(DiskType)     {   case DRIVE_NO_ROOT_DIR:break;   case DRIVE_REMOVABLE:   // 移动存储设备UDiskRoot = pDriveStr;break;   case DRIVE_FIXED:   // 固定硬盘驱动器break;   case DRIVE_REMOTE:   // 网络驱动器break;  case DRIVE_CDROM:   // 光盘驱动器break;   }pDriveStr += szDriveStr + 1;szDriveStr = strlen(pDriveStr);}delete pForDelete;return UDiskRoot;}