Einzelnen Beitrag anzeigen

fischi

Registriert seit: 8. Jun 2006
6 Beiträge
 
#1

HKEY_LOCAL_MACHINE als User lesen

  Alt 4. Sep 2009, 20:48
Hallo,

bisher lese ich Einträge in die Registry unter HKEY_LOCAL_MACHINE mit folgenden Code (Delphi4):

Delphi-Quellcode:
var HKLMPfadDB, PfadDB: string;
const registPfad: string = '\Software\Eigene\Programmname';//Registrypfad
      defaultDB: string = 'D:\Mein\Pfad\Datei.mdb';
     
procedure TFRM_Main.FormCreate(Sender: TObject);
//####Registry Einträge lesen#############
//####Pfad zur Datenbank
begin
  regist:= TRegistry.Create;
  regist.RootKey:= HKEY_LOCAL_MACHINE;
  regist.OpenKeyReadOnly(registPfad+'\Datenbank');
  if length(regist.ReadString('Pfad_DB')) = 0
  then begin
          MessageDlg('HKEY_LOCAL_MACHINE Lesefehler! Die Default Einstellungen werden gesetzt.',mtError,[mbOk],0);
          PfadDB:= defaultDB;
       end
  else PfadDB:= regist.ReadString('Pfad_DB');
 ShowMessage(PfadDB);
regist.Free;
end;
Funktioniert bis Win2k, bei WinXP leider nur mit Admin Rechten.
Mit Userrechten lande ich immer bei den Default Einstellungen.
Der Pfad ist natürlich in der Registry eingetragen und kann dort auch mit Regedit betrachtet werden. Wo ist da jetzt der Harken, was muß ich anpassen?

Danke schon mal

Thomas
  Mit Zitat antworten Zitat