Delphi - Problemas en el registro

 
Vista:

Problemas en el registro

Publicado por Cristián (115 intervenciones) el 18/05/2003 21:33:54
Hola!! espero alguien me ayude.. no se que pasa... este codigo siempre me funciono muy bien..... bueno.... Quiero jalar del regsitro de windows, lo que es el propietario de la maquina, version de windows, etc.. en Windows 98 y Me.... ahora que lo quiero hacer en XP pues no funciona. Este es mi codigo:
if windows<>'Win9X' then
begin
label9.Caption:=Windows;
regis:=Tregistry.Create;
regis.RootKey:=HKEY_LOCAL_MACHINE;
regis.OpenKey('\SOFTWARE\Microsoft\WindowsNT\CurrentVersion',true);
RegisteredOwner:=regis.ReadString('RegisteredOwner');
ProductName:=regis.ReadString('ProductName');
ProductID:=regis.ReadString('ProductID');
CSDVersion:=regis.ReadString('CSDVersion');
regis.Free;
end;
Lo de la variable Windows... es un string resultado de una funcion que me devuelve Win9x para sistemas no NT y WinNT para los demas. O sea que para Windows XP la variable es WinNT.
el codigo que uso es igual al que uso cuando uso WindowsMe, con la excepcion que la llave no es
regis.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion',true);
sino
regis.OpenKey('\SOFTWARE\Microsoft\WindowsNT\CurrentVersion',true);
Ya verifique en Windows XP que en esa llave esten los valores que quiero, y si estan, con los nombres que puse en mi codigo
RegisteredOwner:=regis.ReadString('RegisteredOwner'); etc...

Pero lo mas raro es que no me los guarda en las variables.... cuando pongo Label1.caption:=RegisteredOwner; simplemente me deja en blanco el label, no escribe nada.
Que puedo hacer??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas en el registro

Publicado por mamcx (533 intervenciones) el 20/05/2003 21:24:08
Tal vez sea un problema de seguridad. No creo que se permite leer Local Machine a usuarios no administradores.

Si necesitas saber si corres en WinNT o no (que es lo que imagino) eso ya esta integrado en Delphi y son unas constantes que se llaman (mas o menos) CurrentVersion, WinPlataform o algo asi...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar