Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Escribiendo en el Registro de Windows (https://www.clubdelphi.com/foros/showthread.php?t=84073)

el-otro 04-09-2013 21:03:18

Escribiendo en el Registro de Windows
 
Hola a todos y gracias por anticipado por vuestro interés.

Estoy escribiendo unas claves y líneas en el registro de windows, utilizando el siguiente código

Código Delphi [-]
RegKey := TRegistry.Create;
RegKey.RootKey := HKEY_LOCAL_MACHINE;

if RegKey.OpenKey(LineaClave,False) = False then
  begin
      RegKey.CreateKey(LineaClave);
      RegKey.OpenKey(LineaClave,True);
  end;

El caso es que hasta la fecha me ha funcionado correctamente en Windows XP, Vista y 7 (tanto de 32 como de 64 bits), sin embargo cuando trato de hacer esto en Windows8 de 64 bits, sin que pueda descubrir la causa el programa me devuelve un error de "Failed to create key \Sofware\Wow6432Node\MiAplicacion" que es la línea clave definida arriba.

¿Os ha ocurrido alguna vez? ¿ha cambiado algo en Windows para que me devuelva este error?

De nuevo gracias, y saludos a todos

Casimiro Notevi 04-09-2013 23:04:53

No olvides liberar RegKey:
Código Delphi [-]
RegKey.Free;

el-otro 04-09-2013 23:56:13

Si eso lo hago después, es que básicamente he reducido un poco el código ya que el error lo tengo en la línea de CreateKey. De todas formas gracias por recordadmelo

dec 05-09-2013 01:23:03

Hola,

Una aplicación no puede escribir en "HKLM" si no tiene "privilegios de administrador". Lo raro es que te funcionase en Windows 7. ¿Cómo solucionarlo? Habría que conseguir dichos permisos de administración, pero, lamento no poder ayudarte a hacer esto, ni sé siquiera si esto es posible ni cómo ni en qué circunstancias. Lo siento. :(

nlsgarcia 05-09-2013 04:49:03

el-otro,

Cita:

Empezado por el-otro
...cuando trato de hacer esto en Windows8 de 64 bits, sin que pueda descubrir la causa el programa me devuelve un error de "Failed to create key \Sofware\Wow6432Node\MiAplicacion" que es la línea clave definida arriba...

Revisa estos links:
Cita:

Acceso Denegado Aplicación inicio de Windows : http://www.clubdelphi.com/foros/show...stro+Windows+8

Acceder al Registro de Windows Vista : http://www.clubdelphi.com/foros/show...stro+Windows+8

Accessing an Alternate Registry View : http://msdn.microsoft.com/en-gb/libr...8VS.85%29.aspx

Registry ReadString method is not working in Windows 7 in Delphi 7 : http://stackoverflow.com/questions/2...-7-in-delphi-7

Delphi on 64 bit Windows 7 : http://www.desiderata.com.au/blog/?page_id=274
Pregunto: ¿El usuario con que se ejecuta la aplicación en cuestión tiene privilegios de administrador?.

Revisa el código del Msg #2 del siguiente link:
Cita:

Ejecutar aplicacion como administrador en Windows 7 : http://www.clubdelphi.com/foros/show...ght=RunAsAdmin
Espero sea útil :)

Nelson.


La franja horaria es GMT +2. Ahora son las 09:53:28.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi