Registrersdatabase / Win xp

Tags:    delphi

Jeg er i gang med at lave et lille program, som på et tidspunkt skal ind og tilføje noget til min registreringsdatabase. Hvilket jeg ikke kan få til at virke, hvis jeg vil tilføje det under HKEY_LOCAL_MACHINE. Hvis jeg går manuelt ind i min registreringsdatabase, kan jeg heller ikke tilføje en nøgle under HKEY_LOCAL_MACHINE, men det er ikke noget problem under f.eks. HKEY_CURRENT_USER. Det skal lige siges at jeg kører med Win xp.

Er der en der ved hvad dette kan skyldes og om jeg evt. skal bruge en ekstra kommando, nu hvor jeg kører med xp?

Min procedure ser ud på følgende måde:

procedure TForm1.NewUserClick(Sender: TObject);
var
Reg : TRegistry; {Erklæringen af denne variable sker godt nok under Private declarations, da
variablen bruges flere steder i programmet, men her bare for at vise at den er
blevet erklæret}
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
If Reg.OpenKey(’User’ , True) then
begin
Reg.WriteString(’Name’ , NameEdit.Text);
{Her kommer der så andre strenge, booleske værdier ect., som skal skrives til
registreringsdatabasen}
end;
Reg.Free;
end;

Med dette bliver der ikke tilføjet noget til registreringsdatabasen, men hvis jeg ændrer HKEY_LOCAL_MACHINE til f.eks. HKEY_CURRENT_USER, virker det som det skal.

Håber du kan hjælpe…

Med venlig hilsen
Morten Hansen




5 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Er du logget på som Administrator?



Er du logget på som Administrator?


Jeg er logget på som Administrator og har også tjekket at Administratoren har fuld tilladelse i registreringsdatabasen. Men lige lidt hjælper det!



Jeg er i gang med at lave et lille program, som på et tidspunkt skal ind og tilføje noget til min registreringsdatabase. Hvilket jeg ikke kan få til at virke, hvis jeg vil tilføje det under HKEY_LOCAL_MACHINE. Hvis jeg går manuelt ind i min registreringsdatabase, kan jeg heller ikke tilføje en nøgle under HKEY_LOCAL_MACHINE, men det er ikke noget problem under f.eks. HKEY_CURRENT_USER. Det skal lige siges at jeg kører med Win xp.

Er der en der ved hvad dette kan skyldes og om jeg evt. skal bruge en ekstra kommando, nu hvor jeg kører med xp?

Min procedure ser ud på følgende måde:

procedure TForm1.NewUserClick(Sender: TObject);
var
Reg : TRegistry; {Erklæringen af denne variable sker godt nok under Private declarations, da
variablen bruges flere steder i programmet, men her bare for at vise at den er
blevet erklæret}
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
If Reg.OpenKey(’User’ , True) then
begin
Reg.WriteString(’Name’ , NameEdit.Text);
{Her kommer der så andre strenge, booleske værdier ect., som skal skrives til
registreringsdatabasen}
end;
Reg.Free;
end;

Med dette bliver der ikke tilføjet noget til registreringsdatabasen, men hvis jeg ændrer HKEY_LOCAL_MACHINE til f.eks. HKEY_CURRENT_USER, virker det som det skal.

Håber du kan hjælpe…

Med venlig hilsen
Morten Hansen


Hvorfor skal det HKEY_LOCAL_MACHINE kunne du ikke lige så godt
bruge HKEY_CURRENT_USER eller måske HKEY_USERS
hvad er forsklen på de tre.

Husk det er min mening.

HVH.
Computerfreack [Redigeret d. 18/07-02 10:54:41 af computerfreack]



Jeg er i gang med at lave et lille program, som på et tidspunkt skal ind og tilføje noget til min registreringsdatabase. Hvilket jeg ikke kan få til at virke, hvis jeg vil tilføje det under HKEY_LOCAL_MACHINE. Hvis jeg går manuelt ind i min registreringsdatabase, kan jeg heller ikke tilføje en nøgle under HKEY_LOCAL_MACHINE, men det er ikke noget problem under f.eks. HKEY_CURRENT_USER. Det skal lige siges at jeg kører med Win xp.

Er der en der ved hvad dette kan skyldes og om jeg evt. skal bruge en ekstra kommando, nu hvor jeg kører med xp?

Min procedure ser ud på følgende måde:

procedure TForm1.NewUserClick(Sender: TObject);
var
Reg : TRegistry; {Erklæringen af denne variable sker godt nok under Private declarations, da
variablen bruges flere steder i programmet, men her bare for at vise at den er
blevet erklæret}
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
If Reg.OpenKey(’User’ , True) then
begin
Reg.WriteString(’Name’ , NameEdit.Text);
{Her kommer der så andre strenge, booleske værdier ect., som skal skrives til
registreringsdatabasen}
end;
Reg.Free;
end;

Med dette bliver der ikke tilføjet noget til registreringsdatabasen, men hvis jeg ændrer HKEY_LOCAL_MACHINE til f.eks. HKEY_CURRENT_USER, virker det som det skal.

Håber du kan hjælpe…

Med venlig hilsen
Morten Hansen


Hvorfor skal det HKEY_LOCAL_MACHINE kunne du ikke lige så godt
bruge HKEY_CURRENT_USER eller måske HKEY_USERS
hvad er forsklen på de tre.

Husk det er min mening.

HVH.
Computerfreack [Redigeret d. 18/07-02 10:54:41 af computerfreack]


Forskellen på de tre er at andre programmer måske skal læse det man tilføjer.

Emil Melgaard
emil.melgaard@private.dk



Jeg er i gang med at lave et lille program, som på et tidspunkt skal ind og tilføje noget til min registreringsdatabase. Hvilket jeg ikke kan få til at virke, hvis jeg vil tilføje det under HKEY_LOCAL_MACHINE. Hvis jeg går manuelt ind i min registreringsdatabase, kan jeg heller ikke tilføje en nøgle under HKEY_LOCAL_MACHINE, men det er ikke noget problem under f.eks. HKEY_CURRENT_USER. Det skal lige siges at jeg kører med Win xp.

Er der en der ved hvad dette kan skyldes og om jeg evt. skal bruge en ekstra kommando, nu hvor jeg kører med xp?

Min procedure ser ud på følgende måde:

procedure TForm1.NewUserClick(Sender: TObject);
var
Reg : TRegistry; {Erklæringen af denne variable sker godt nok under Private declarations, da
variablen bruges flere steder i programmet, men her bare for at vise at den er
blevet erklæret}
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
If Reg.OpenKey(’User’ , True) then
begin
Reg.WriteString(’Name’ , NameEdit.Text);
{Her kommer der så andre strenge, booleske værdier ect., som skal skrives til
registreringsdatabasen}
end;
Reg.Free;
end;

Med dette bliver der ikke tilføjet noget til registreringsdatabasen, men hvis jeg ændrer HKEY_LOCAL_MACHINE til f.eks. HKEY_CURRENT_USER, virker det som det skal.

Håber du kan hjælpe…

Med venlig hilsen
Morten Hansen


Hvorfor skal det HKEY_LOCAL_MACHINE kunne du ikke lige så godt
bruge HKEY_CURRENT_USER eller måske HKEY_USERS
hvad er forsklen på de tre.

Husk det er min mening.

HVH.
Computerfreack [Redigeret d. 18/07-02 10:54:41 af computerfreack]


Og så, at HKEY_CURRENT_USER og HKEY_USERS er forskellig pr. bruger.

Emil Melgaard
emil.melgaard@private.dk



t