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]