enum disk driver枚举磁盘,可取得当前任意类型磁盘

 void  C2DFileDialog::getDiskDrivers(std::vector<std::wstring> &strDrivers)
 {
   wchar_t   buff[256];  
   int   len   =   GetLogicalDriveStringsW(sizeof(buff),   buff);
   int preDriverIndex =0;
   for(int   i   =   0;   i   <   len   ;   i++)  
   {  
     if(buff[i]   ==   0)  
     {
      wchar_t *p =&buff[preDriverIndex];
      std::wstring tmp(p);
      if(GetDriveType(p) ==DRIVE_FIXED)
//type include:DRIVE_UNKNOWN DRIVE_RAMDISK:DRIVE_CDROM:DRIVE_REMOTE:DRIVE_FIXED:DRIVE_REMOVABLE:DRIVE_NO_ROOT_DIR:
      {
       strDrivers.push_back(tmp);
       preDriverIndex=i+1;
      }
      if(buff[preDriverIndex]==0 && preDriverIndex!=0)
       break;
     }
   }
  
 }

你可能感兴趣的:(enum disk driver枚举磁盘,可取得当前任意类型磁盘)