Hola, te aconsejo que te leas la guia de estilo antes de nada
, porque este tema no va de acuerdo con la seccion donde posteas.
Hay una funcion muy simple para detectar unidades extraibles
GetDriveType. Esta funcion se encuentra en los uses de Windows.
Los posibles valores que devuelve esta funcion son:
Código Delphi
[-]
DRIVE_UNKNOWN = 0;
{$EXTERNALSYM DRIVE_UNKNOWN}
DRIVE_NO_ROOT_DIR = 1;
{$EXTERNALSYM DRIVE_NO_ROOT_DIR}
DRIVE_REMOVABLE = 2;
{$EXTERNALSYM DRIVE_REMOVABLE}
DRIVE_FIXED = 3;
{$EXTERNALSYM DRIVE_FIXED}
DRIVE_REMOTE = 4;
{$EXTERNALSYM DRIVE_REMOTE}
DRIVE_CDROM = 5;
{$EXTERNALSYM DRIVE_CDROM}
DRIVE_RAMDISK = 6;
{$EXTERNALSYM DRIVE_RAMDISK}
En tu caso, para detectar una unidad USB:
Código Delphi
[-]
var
drive: char;
begin
For Drive:='c' to 'z' do begin
If GetDriveType (pchar(drive + ':\')) = DRIVE_REMOVABLE then begin
showmessage('Unidad ' + pchar(drive));
end;
end;
Espero que te ayude
Salu2