Einzelnen Beitrag anzeigen

DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
439 Beiträge
 
Delphi 12 Athens
 
#1

Registry-Schlüssel unter 64 Bit Windows nicht auslesbar?

  Alt 18. Apr 2012, 12:38
Ich habe eine Anwendung mit Admin-Rechten und möchte einen Registry-Stringschlüssel auslesen. Das funktioniert auch unter der 32 Bit-Version von Windows 7 mit folgendem Code ganz gut:

Delphi-Quellcode:
function GetWindowsGUID : string;
var CryptoGUID : TRegistry;
    MachineGUIDStr : string;
begin
  Result:='';
  CryptoGUID:=TRegistry.Create;
  try
    CryptoGUID.RootKey:=HKEY_LOCAL_MACHINE;
    CryptoGUID.Access :=KEY_READ;
    if CryptoGUID.OpenKeyReadOnly('Software\Microsoft\Cryptography') then
    begin
      MachineGUIDStr:=CryptoGUID.ReadString('MachineGuid');
      Result:=Uppercase(MachineGUIDStr);
    end;
  finylly
    CryptoGUID.Free;
  end;
end;
Bei einer 64 Bit-Version von Windows 7 kommt ein Leerstring zurück, und die Hilfe sagt auch, dass dies der Fall ist, wenn der Schlüssel nicht existiert. In Regedit sehe ich aber, dass er existiert. Woran kann das liegen?
Devid
Devid Espenschied
Pre-sales Consultant
Embarcadero Germany GmbH
germany.info@embarcadero.com

Kein Support per PN
  Mit Zitat antworten Zitat