Hallo.
Ich möchte mit meinem Programm die ProduktID der Windowsversion auslesen.
Der Liegt im Schlüssel:
HKEY_LOCAL_MACHINE
Ordner (für Windows 98):
SOFTWARE\Microsoft\Windows\CurrentVersion
Punkt:
ProductId
Geht auch bei Win98.
Auf dem System meines Kollegens (Win 2000) geht es nicht (Ordner ist auf "Windows NT" geändert).
Ich habe die Zugriffsrechte ausgelesen, die stehen auf "KEY_ALL_ACCESS".
Ich kriege auf keinen Ordner im Schlüssel "HKEY_LOCAL_MACHINE" zugriff.
Was mache ich falsch?
Code:
<PRE>
function RegLesen (Key:HKEY;RegRoot,ReadPoint:String):String;
var
aRegKey:TRegistry;
begin
aRegKey:=TRegistry.Create ;
try
aRegKey.RootKey:=Key;
if aRegKey.OpenKey (RegRoot,False) then
begin
Result:=aRegKey.ReadString (ReadPoint);
end;
finally
aRegKey.CloseKey ;
aRegKey.Free ;
end;
end;
</PRE>
Der Aufruf ist:
<PRE>
Label1.Caption:= RegZugriff.RegLesen (HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows NT\CurrentVersion','ProductId');
</PRE>
Gruß
Rasmus
Ich möchte mit meinem Programm die ProduktID der Windowsversion auslesen.
Der Liegt im Schlüssel:
HKEY_LOCAL_MACHINE
Ordner (für Windows 98):
SOFTWARE\Microsoft\Windows\CurrentVersion
Punkt:
ProductId
Geht auch bei Win98.
Auf dem System meines Kollegens (Win 2000) geht es nicht (Ordner ist auf "Windows NT" geändert).
Ich habe die Zugriffsrechte ausgelesen, die stehen auf "KEY_ALL_ACCESS".
Ich kriege auf keinen Ordner im Schlüssel "HKEY_LOCAL_MACHINE" zugriff.
Was mache ich falsch?
Code:
<PRE>
function RegLesen (Key:HKEY;RegRoot,ReadPoint:String):String;
var
aRegKey:TRegistry;
begin
aRegKey:=TRegistry.Create ;
try
aRegKey.RootKey:=Key;
if aRegKey.OpenKey (RegRoot,False) then
begin
Result:=aRegKey.ReadString (ReadPoint);
end;
finally
aRegKey.CloseKey ;
aRegKey.Free ;
end;
end;
</PRE>
Der Aufruf ist:
<PRE>
Label1.Caption:= RegZugriff.RegLesen (HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows NT\CurrentVersion','ProductId');
</PRE>
Gruß
Rasmus
Comment