用C找U盘问题,加高分

来源:百度知道 编辑:UC知道 时间:2024/06/15 00:35:50
BOOL findpath() //注释:找到U盘路径
{
char szDriverName[1]={0}; //注释:定于磁盘名
for(szDriverName[0]='A';szDriverName[0]<='Z';szDriverName[0]++)
{
printf("%c",szDriverName[0]); //注释:这是测试的
if(GetDriveType(szDriverName)==DRIVE_REMOVABLE)
{
printf("找到u盘");
USB=szDriverName[0];
return true;
}

}
return FALSE;
}
我准备搞个U盘免疫的C程序,可是这个代码就是找不到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 = all