champy,
Revisa este código:
Código Delphi
[-]
Procedure GetDrive(FileName : String);
var
Driver: Pchar;
i, Length: Integer;
SearchFile : Boolean;
begin
SearchFile := False;
GetMem(Driver, 100);
Length := GetLogicalDriveStrings(100, Driver);
for i := 0 to Length-1 do
begin
if GetDriveType(Pchar(Driver[i] + ':\')) = DRIVE_REMOVABLE then
begin
try
If FileExists(Driver[i] + ':\' + FileName) then
begin
MessageDlg('Archivo Sincronizado en Medio Removible', mtinformation, [mbok], 0);
FreeMem(Driver);
SearchFile := True;
break;
end;
except
MessageDlg('Error de I/O', mtinformation, [mbok], 0);
FreeMem(Driver);
exit;
end;
end;
end;
if not Searchfile then
MessageDlg('Archivo No Sincronizado en Medio Removible', mtinformation, [mbok], 0)
end;
El código anterior busca en todos los medios activos y de tipo removible un archivo determinado hasta hallar la primera ocurrencia o finalizar los drivers activos, fue probado con medios USB y Tarjetas MicroSD vía USB y funciona correctamente.
Espero sea útil
Nelson.