MaxDriveSet = GetLogicalDrives();
CurDriveSet = MaxDriveSet;
for ( drive = 0; drive < 32; ++drive )
{
if ( MaxDriveSet & (1 << drive) )
{
DWORD temp = 1<<drive;
_stprintf( szDrvName, _T("%c:\\"), 'A'+drive );
if(GetDriveType( szDrvName )== DRIVE_REMOVABLE)
{
drivetype = DRVREMOVE;
sprintf(szBuf, "\\\\?\\%c:", 'A'+drive);
hDevice = CreateFile(szBuf, GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL);
if (hDevice != INVALID_HANDLE_VALUE)
{
pDevDesc = (PSTORAGE_DEVICE_DESCRIPTOR)new BYTE[sizeof(STORAGE_DEVICE_DESCRIPTOR) +512 - 1];
pDevDesc->Size = sizeof(STORAGE_DEVICE_DESCRIPTOR) + 512 - 1;
if(GetDisksProperty(hDevice, pDevDesc))
{
szMoveDiskName[k] = chFirstDriveFromMask(temp);
szMoveDiskName[0]=k;
k++;
ShowMessage("\r\n找到U盘,名称:\r\n");
p= (char*)pDevDesc;
str = (pDevDesc->VendorIdOffset ? &p[pDevDesc->VendorIdOffset]:"(NULL)");
ShowMessage(str);
ShowMessage("\r\n产品ID:\r\n");
str=(pDevDesc->ProductIdOffset ? &p[pDevDesc->ProductIdOffset]:"(NULL)");
ShowMessage(str);
ShowMessage("\r\n产品版本:\r\n");
str = (pDevDesc->ProductRevisionOffset ? &p[pDevDesc - >ProductRevisionOffset] : "(NULL)");
ShowMessage(str);
ShowMessage("\r\n序列号:\r\n");
str = (pDevDesc->SerialNumberOffset ? &p[pDevDesc- >SerialNumberOffset] : "(NULL)");
ShowMessage(str);
}
delete pDevDesc;
CloseHandle(hDevice);
}
}
}
}
CurDriveSet = MaxDriveSet;
for ( drive = 0; drive < 32; ++drive )
{
if ( MaxDriveSet & (1 << drive) )
{
DWORD temp = 1<<drive;
_stprintf( szDrvName, _T("%c:\\"), 'A'+drive );
if(GetDriveType( szDrvName )== DRIVE_REMOVABLE)
{
drivetype = DRVREMOVE;
sprintf(szBuf, "\\\\?\\%c:", 'A'+drive);
hDevice = CreateFile(szBuf, GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL);
if (hDevice != INVALID_HANDLE_VALUE)
{
pDevDesc = (PSTORAGE_DEVICE_DESCRIPTOR)new BYTE[sizeof(STORAGE_DEVICE_DESCRIPTOR) +512 - 1];
pDevDesc->Size = sizeof(STORAGE_DEVICE_DESCRIPTOR) + 512 - 1;
if(GetDisksProperty(hDevice, pDevDesc))
{
szMoveDiskName[k] = chFirstDriveFromMask(temp);
szMoveDiskName[0]=k;
k++;
ShowMessage("\r\n找到U盘,名称:\r\n");
p= (char*)pDevDesc;
str = (pDevDesc->VendorIdOffset ? &p[pDevDesc->VendorIdOffset]:"(NULL)");
ShowMessage(str);
ShowMessage("\r\n产品ID:\r\n");
str=(pDevDesc->ProductIdOffset ? &p[pDevDesc->ProductIdOffset]:"(NULL)");
ShowMessage(str);
ShowMessage("\r\n产品版本:\r\n");
str = (pDevDesc->ProductRevisionOffset ? &p[pDevDesc - >ProductRevisionOffset] : "(NULL)");
ShowMessage(str);
ShowMessage("\r\n序列号:\r\n");
str = (pDevDesc->SerialNumberOffset ? &p[pDevDesc- >SerialNumberOffset] : "(NULL)");
ShowMessage(str);
}
delete pDevDesc;
CloseHandle(hDevice);
}
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货