PDA

Ver la Versión Completa : Listar las memorias usb conectadas


seoane
08-06-2006, 17:04:25
Esta funcion crea una lista con los dispositivos de almacenamiento USB conectados al equipo, en cada linea de la lista se puede leer la identificacion del vendedor, la del producto y el numero de serie (el grabado en fabrica)


uses Registry;

procedure ListarUSB(Lista: TStringList);
var
i: integer;
begin
with TRegistry.Create do
try
RootKey:= HKEY_LOCAL_MACHINE;
if OpenKey('\SYSTEM\CurrentControlSet\Services\USBSTOR\Enum',FALSE) then
begin
i:= 0;
while ValueExists(IntToStr(i)) do
begin
Lista.Add(ReadString(IntToStr(i)));
inc(i);
end;
CloseKey;
end;
finally
Free;
end;
end;



Ejemplo de uso:

var
Lista: TstringList;
i: Integer;
begin
Lista:= TStringList.Create;
try
ListarUSB(Lista);
for i:= 0 to Lista.Count-1 do
ShowMessage(Lista[ i ]);
finally
Lista.Free;
end;
end;



Posibles usos, utilizar una meoria usb como llave hardware en uno de nuestros programas. Eso lo dejo para un truco diferente ...