Einzelnen Beitrag anzeigen

Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#1

Registry lesen unter Vista schlägt fehl

  Alt 29. Mai 2007, 10:20
Hallo,

für mein Programm MyPC lesen ich ein paar Informationen aus der Registry aus oder zumindest versuche ich es auch unter Vista zum laufen zu bringen. Das Problem ist, dass manche Werte ausgelesen werden, wie die BuildLab andere nicht ausgelesen werden dann ist aber auch wieder der Unterschied auf welchem Vista (bei Ultimate scheint es nicht zu gehen, bei anderen Versionen doch - ich habe kein Vista, bin daher auf andere angewiesen), und andere Werte wiederum ein Wert zurückgeben den ich mir nicht erklären kann. Bei mir unter XP werden alle Werte korrekt ausgegeben. Hier erstmal der Code, so wie ich ihn bei einem Freund unter Vista Ultimate getestet habe:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Reg: TRegistry;

begin
  Reg := TRegistry.Create(KEY_READ); // sollte das selbe sein wie Reg.Access := KEY_READ
  with Reg do
   try
    RootKey := HKEY_LOCAL_MACHINE;
    OpenKeyReadOnly('Software\Microsoft\Windows NT\CurrentVersion');
    // es sollte privat kommen aber Microsoft kommt
    ShowMessage(ReadString('RegisteredOrganization'));
    // BuildLab wird richtig ausgelesen
    ShowMessage(ReadString('BuildLab'));
    // es sollte der Name kommen aber leerer String kommt
    ShowMessage(ReadString('RegisteredOwner'));
    // selbe wie RegisteredOwner
    ShowMessage(ReadString('ProductID'));
   finally
    Reg.Free;
   end;
end;
Ich kan mir das nicht erklären besonders weil vollkommen andere Werte auftauchen, die dort nicht stehen.

Der Benutzer hat ein AdminAccount.

Hat jemand einen Rat? Ich hoffe es insgeheim.

Gruß
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat