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

来源:互联网 发布:中国网络版权产业联盟 编辑:程序博客网 时间:2024/05/17 06:28
 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;
     }
   }
  
 }
原创粉丝点击