|
void __fastcall TFrmBackUp::DriveComboBox1Change(TObject *Sender)
{
int DrvNo = DriveComboBox1->Items->Strings[DriveComboBox1->ItemIndex][1] - 'a';
int FreeSpace = DiskFree(DrvNo+1) >> 10;
int TotalSpace = DiskSize(DrvNo+1) >> 10;
char DrvRoot[4] = "A:\\";
DrvRoot[0] += DrvNo;
char VolName[MAX_PATH], FileSysName[10];
DWORD VolSerial;
GetVolumeInformation(DrvRoot, VolName, sizeof(VolName), &VolSerial, NULL, NULL,
FileSysName, sizeof(FileSysName));
AnsiString DrvTypeString;
switch(GetDriveType(DrvRoot))
{
case 0: DrvTypeString = "Unknown";
break;
case 1: DrvTypeString = "(Not Available)";
break;
case DRIVE_REMOVABLE: DrvTypeString = "Removable Drive";
DirectoryListBox1->Drive = DriveComboBox1->Drive;
break;
case DRIVE_FIXED: DrvTypeString = "Hard Drive";
DirectoryListBox1->Drive = DriveComboBox1->Drive;
break;
case DRIVE_REMOTE: DrvTypeString = "Network Drive";
DirectoryListBox1->Drive = DriveComboBox1->Drive;
break;
case DRIVE_CDROM: DrvTypeString = "CD-ROM Drive";
break;
case DRIVE_RAMDISK: DrvTypeString = "RAM Drive";
break;
}
}
|