天天看点

C++如何获得U盘的盘符以及U盘相关属性的代码

下载: xok.la.app

  1. char diskPath[5] = { 0 };
  2.     DWORD allDisk = GetLogicalDrives(); //返回一个32位整数,将他转换成二进制后,表示磁盘,最低位为A盘
  3.     if (allDisk!=0)
  4.     {
  5.         for (int i=0;i<11;i++)     //假定最多有10个磁盘
  6.         {
  7.             if ((allDisk & 1)==1)
  8.             {
  9.                 sprintf( diskPath, "%c", 'C'+i );
  10.                 strcat( diskPath, ":\\" );
  11.                 if ( GetDriveType(diskPath)==DRIVE_REMOVABLE )
  12.                 {
  13.                     //AfxMessageBox( "检测到U盘", MB_OK );
  14.                     //AfxMessageBox( diskPath, MB_OK );
  15.                     if( GetVolumeInformation(diskPath,0,0,0,0,0,0,0) ) //判断驱动是否准备就绪
  16.                     {
  17.                         AfxMessageBox( "U盘就绪", MB_OK );
  18.                         break;
  19.                                         }
  20.                 }
  21.             }
  22.             allDisk = allDisk>>1;
  23.         }
  24.     }
  25.     if ((allDisk & 1)!=1) //未检测到U盘
  26.         AfxMessageBox( "未检测到U盘,请插入U盘", MB_OK);

chaunceyhao