Montag, 13. Juli 2009

Lesen der Registrierdatenbank

In Free Pascal kann man auf die Windows-Registrierdatenbank zugreifen. Im Folgenden wird der Eintrag »Adapter ID« aus dem Schlüssel »Software\Microsoft\Screensavers\Text3D\Screen 1« im Baum HKEY_CURRENT_USER ausgelesen und angezeigt.

PROGRAM RegistryView;
USES Registry;

VAR
  buffer: ARRAY [0 .. 15] OF Byte;
  count : Integer;
  i     : Integer;
  r     : TRegistry;

BEGIN
  r := TRegistry.Create;
  r.RootKey := HKEY_CURRENT_USER;
  r.OpenKeyReadOnly('Software\Microsoft\Screensavers\Text3D\Screen 1');
  count := r.ReadBinaryData('Adapter ID', buffer, Length(buffer));
  r.Free;
  FOR i := 0 TO count - 1 DO BEGIN
    Write(HexStr(buffer[i], 2), '  ');
    IF (i + 1) MOD 16 = 0 THEN
      WriteLn;
  END;
END.


Die FOR-Schleife sorgt dabei für eine hexadezimale Ausgabe des Puffers.

Keine Kommentare:

Kommentar veröffentlichen