Ver Mensaje Individual
  #12  
Antiguo 14-01-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Bueno, puede que esto te sirva de ayuda:

Coloca un TMemo en el form
Código Delphi [-]
uses SetupApi;

procedure TForm4.FormCreate(Sender: TObject);
var
  DevInfo: HDEVINFO;
  DevInfoData: SP_DEVINFO_DATA;
  i: integer;
  Data: Pointer;
  Size: DWORD;
begin
  DevInfo:= SetupDiGetClassDevs(nil,nil,0,DIGCF_ALLCLASSES or DIGCF_PROFILE);
  if DevInfo <> HDEVINFO(INVALID_HANDLE_VALUE) then
  begin
    FillChar(DevInfoData,Sizeof(DevInfoData),0);
    DevInfoData.cbSize:= Sizeof(DevInfoData);
    for i:= 0 to MAXINT do
    begin
      if not SetupDiEnumDeviceInfo(DevInfo,i,DevInfoData) then
        break;
      SetupDiGetDeviceRegistryProperty(DevInfo,DevInfoData,SPDRP_DEVICEDESC,
        nil,nil,0,@Size);
      if GetLastError = ERROR_INSUFFICIENT_BUFFER then
      begin
        GetMem(Data,Size);
        try
          if SetupDiGetDeviceRegistryProperty(DevInfo,DevInfoData,
            SPDRP_DEVICEDESC,nil,Data,Size,@Size) then
          begin
            // Recuerda colcoar el memo
            Memo1.Lines.Add(String(PChar(Data)));
          end;
        finally
          FreeMem(Data);
        end;
      end;
    end;
    SetupDiDestroyDeviceInfoList(DevInfo);
  end;
end;

Espero que este código en Delphi te aclare algo las cosas
Responder Con Cita