Obter o tipo de um drive (removível, fixo, CD-ROM, unidade de rede, etc) no Delphi
Inclua na seção uses: Windows, Dialogs
{ - Coloque um edit (Edit1) e um botão no form; - Altere o OnClick do botão conforme abaixo: } procedure TForm1.Button1Click(Sender: TObject); var S: string; Tipo: byte; begin Tipo := GetDriveType(PChar(Edit1.Text[1] + ':\')); case Tipo of 0: S := 'Tipo indeterminado'; 1: S := 'Drive não existe'; DRIVE_REMOVABLE: S := 'Disco removível'; DRIVE_FIXED: S := 'Disco Fixo'; DRIVE_REMOTE: S := 'Unidade de rede'; DRIVE_CDROM: S := 'CD-ROM'; DRIVE_RAMDISK: S := 'RAM Disk'; else S := 'Erro'; end; ShowMessage(S); end; { Para pegar o tipo da unidade atual troque...} Tipo := GetDriveType(PChar(Edit1.Text[1] + ':\')); { por } Tipo := GetDriveType(nil);
Para testar digite a letra do drive no Edit1 e clique no botão. A unit Dialogs foi colocada no uses apenas por causa da procedure ShowMessage. Para exibir todas as unidades existentes e seus respectivos tipos, use a função tbGetDrives (da pergunta 64) em conjunto com este exemplo.