C++如何获得U盘的盘符以及U盘相关属性的代码
- char diskPath[5] = { 0 };
- DWORD allDisk = GetLogicalDrives(); //返回一个32位整数,将他转换成二进制后,表示磁盘,最低位为A盘
- if (allDisk!=0)
- {
- for (int i=0;i<11;i++) //假定最多有10个磁盘
- {
- if ((allDisk & 1)==1)
- {
- sprintf( diskPath, "%c", 'C'+i );
- strcat( diskPath, ":\\" );
- if ( GetDriveType(diskPath)==DRIVE_REMOVABLE )
- {
- //AfxMessageBox( "检测到U盘", MB_OK );
- //AfxMessageBox( diskPath, MB_OK );
- if( GetVolumeInformation(diskPath,0,0,0,0,0,0,0) ) //判断驱动是否准备就绪
- {
- AfxMessageBox( "U盘就绪", MB_OK );
- break;
- }
- }
- }
- allDisk = allDisk>>1;
- }
- }
- if ((allDisk & 1)!=1) //未检测到U盘
- {
- AfxMessageBox( "未检测到U盘,请插入U盘", MB_OK);
- }