window下
引用
#include <windows.h>
char diskPath[5] = { 0 };
DWORD allDisk = GetLogicalDrives(); //返回一个32位整数,将他转换成二进制后,表示磁盘,最低位为A盘
if (allDisk!=0)
{
for (int i=0;i<13;i++) //假定最多有12个磁盘从A开始计数
{
if ((allDisk & 1)==1)
{
sprintf( diskPath, "%c", 'A'+i );
strcat( diskPath, ":" );
LPCWSTR RootPathName =(LPCWSTR)QString(diskPath).utf16();
if (GetDriveType(RootPathName) == DRIVE_REMOVABLE)
{
if( GetVolumeInformation(RootPathName,0,0,0,0,0,0,0) ) //判断驱动是否准备就绪
{
//qDebug()<<"U盘准备就绪!"<<diskPath;
QString path(diskPath);
//qDebug()<<"U盘准备就绪!"<<path;
}else{
QMessageBox::information(NULL,"提示信息","未检测到U盘");
}
}
}
allDisk = allDisk>>1;
}
}