Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Introducir una clave en el REGEDIT (https://www.clubdelphi.com/foros/showthread.php?t=69943)

alejozd 20-09-2010 23:20:27

Introducir una clave en el REGEDIT
 
Hola,
Quiero ingresar en el regedit un valor Dword trabajo con Delphi 5,
Inicialmente lo hacia con RegInifile, pero simpre los valores que me ingresa con de tipo cadena y necesito que sea DWrod.
Con el RegsetvalueEx lo intente pero no logro entrar hasta el final del arbol, solo hasta HKEY_LOCAL_MACHINE
y debo entrar hasta HKEY_LOCAL_MACHINE\Software\Microsoft\WinHelp
para introducir la clave AllowProgrammaticMacros que es de tipo DWord

pego el codigo por si acaso


hopenkey:HKEY;
hopkey1:HKEY;
iI:Integer;
pdI:PDWORD;

RegOpenKeyEx(HKEY_LOCAL_MACHINE,'\Software\Microsoft\WinHelp', 0, KEY_READ, hopenkey); //aqui abro la cadena segun dice el manual

RegSetValueEx(hopenkey,'AllowProgrammaticMacros', 0, REG_DWORD,@iI, SizeOf(iI)); //aqui deberia escribir donde quiero

Pero por lo que veo el valor de hopenkey siempre es 0 y deberia tener otro valor como resultado de abrir la cadena anterior.

Gracias por la ayuda!

Neftali [Germán.Estévez] 21-09-2010 10:39:38

Te recomiendo que utilices TAG's cuando escribas código, mejora la legibilidad de este.

Si haces una simple búsqueda en los foros por las palabras "escribir registro" (sin comillas) en el título de los mensajes, obtendrás unos cuantos temas (con código incluído) sobre el mismo problema que comentas.

Por ejemplo estos:
Problema al escrinir en el registro de windows
REG_DWORD escrini y leer en el registro

Revisa la Guía de estilo.

Un saludo.

alejozd 21-09-2010 23:51:31

Gracias a Neftali por interezarce y escribir, les cuento que encontre una solucion para poder escribir en el registro con RegSetValueEx es la siguiente:

Código Delphi [-]
RegCreateKey(HKEY_LOCAL_MACHINE,pchar('Software\Microsoft\WinHelp'),hopenkey);  //creo la clave
  RegOpenKey(HKEY_LOCAL_MACHINE,pchar('Software\Microsoft\WinHelp'),hopenkey);    //abro la clave que cree
  RegSetValueEx(hopenkey,pchar('AllowProgrammaticMacros'), 0, REG_DWORD, @iI, sizeOf(iI));    //ahora inserto la nueva seccion en el registro tipo Dword

me salio mas facil de lo que pensaba , si alguien tiene dudas de como lo hice pueden escribir.


La franja horaria es GMT +2. Ahora son las 15:07:41.

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