Einzelnen Beitrag anzeigen

Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Hardware erkennen an bestimmter Eigenschaft im DeviceManager

  Alt 31. Okt 2012, 08:11
Okay, SetupAPI lässt sich problemlos in die uses eintragen und dann stehen die von dir genannten Methoden auch zur Verfügung. Ich benötige hier aber mal ein wenig Hilfe. Aktuell sieht es so aus:
Delphi-Quellcode:
procedure TMainframe.Button1Click(Sender: TObject);
var
  GUID: PGUID;
  Info: HDEVINFO;
  i: Integer;
  DevInfoData: SP_DEVINFO_DATA;
begin
  if not LoadSetupApi then Exit;

  GUID^ := StringToGUID('{36fc9e60-c465-11cf-8056-444553540000}');
  Info := SetupDiCreateDeviceInfoList(GUID, 0);
  try
    if(NativeInt(Info) = INVALID_HANDLE_VALUE) then
    begin
      ShowMessage('Error: Invalid Handle');
      Exit;
    end;

    i := 0;
    while(SetupDiEnumDeviceInfo(Info, i, DevInfoData)) do // liefert immer false
    begin
       Inc(i);
       // Hier muss dann irgendwie SetupDiGetDeviceRegistryProperty abgefragt werden
    end;


  finally
    SetupDiDestroyDeviceInfoList(Info);
    UnloadSetupApi;
  end;
end;
Die while-Schleife läuft aber nie durch. Hier müsste mein erster Denkfehler liegen. Und danach müsste ich ich MSDN-Library durchsuchenSetupDiGetDeviceRegistryProperty aufrufen, aber insbesondere der PByte-Parameter macht Ärger. Wie kriege ich denn da einen brauchbaren String raus?
  Mit Zitat antworten Zitat