[Delphi] TRegistryIniFile en HKLM

Pagina: 1
Acties:

  • Darkvater
  • Registratie: Januari 2001
  • Laatst online: 26-08-2024

Darkvater

oh really?

Topicstarter
Ik word hier langzamerhand gek van. Heb dingen heel mooi uitgewerkt met TRegistryIniFile zodat en voor het register en voor ini files dezelfde code gebruikt kan worden; maar het wil maar niet werken als ik geen Administrator ben.

code:
1
2
3
4
    IniFile := TSettings.Create('');
    IniFile.RegIniFile.CloseKey();
    IniFile.RegIniFile.RootKey := HKEY_LOCAL_MACHINE;
    IniFile.RegIniFile.OpenKey(SettingsFile, False);


Het probleem is dat Create() standaard in HKEY_CURRENT_USER gaat kijken, en dat is niet juist. Dus ik laat het naar HKLM wijzen. SettingsFile is de key die daar (onder Software) zit. Als administrator werkt alles perfect, maar zodra ik een user of power user ben, dan mislukt OpenKey; eg. geeft false terug. Maar dit kan toch niet? Power User heeft zelfs rechten om in HKLM\software te schrijven, en User kan daar gewoon lezen. Hoe moet ik ervoor zorgen dat het gewoon wel lukt??


Windows Vista? *NEVER* Het waarom - Opera forever!!!
I've seen chickens that were more menacing. Chickens in a coma. On ice. In my fridge


  • Darkvater
  • Registratie: Januari 2001
  • Laatst online: 26-08-2024

Darkvater

oh really?

Topicstarter
Man, zoooo typisch. Ben ik er uren mee bezig, stel ik eindelijk mijn vraag, en vind ik de oplossing gelijk :(
code:
1
IniFile.RegIniFile.OpenKeyReadOnly(SettingsFile);

Maar toch wel vreemd dat standaard OpenKey bij een normale user zonder explicit de Acess te stellen niet werkt :?


Windows Vista? *NEVER* Het waarom - Opera forever!!!
I've seen chickens that were more menacing. Chickens in a coma. On ice. In my fridge


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Omdat ie m dan voor Read/Write opend. En daar heeft een gewone gebruiker geen rechten toe. Je kan het ook doen door bij de Create de Access parameter op readonly te zetten.

We adore chaos because we like to restore order - M.C. Escher