FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problema al escribir en el registro ¿falla la clase treg32?
Posts: 234
Joined: Tue Sep 01, 2009 07:55 AM
Problema al escribir en el registro ¿falla la clase treg32?
Posted: Wed Mar 24, 2010 09:14 AM
Amigos:
Cuando intento crear uno valores en el registro de windows, con el código que muestro aquí:
Code (fw): Select all Collapse
if regopenkey(HKEY_CURRENT_USER,"SOFTWARE\Medida\Etiqueta",@nhandle)<>0
    regcreatekey(HKEY_CURRENT_USER,"SOFTWARE\Medida\Etiqueta",@nhandle)
    regsetvalue(nhandle,"","The default value")
    regsetvalue(nhandle,"cmetiq01","00")
    regsetvalue(nhandle,"cmetiq02","00")
    regsetvalue(nhandle,"cmetiq03","00.00")
    regsetvalue(nhandle,"cmetiq04","00.00")
    regsetvalue(nhandle,"cmetiq05","00.00")
    regsetvalue(nhandle,"cmetiq06","00.00")
    regsetvalue(nhandle,"cmetiq07","00")
    regsetvalue(nhandle,"cmetiq08","00")
    regclosekey(nhandle)
endif

Lo único que obtengo en el registro es la clave HKEY_CURRENT_USER,"SOFTWARE\Medida\Etiqueta, pero ninguno de los valores introducidos es escrito.

Hay alguna forma de hacerlo?, ya he probado usando la clase treg32, con un resultado similar.
Un saludo y muchas gracias
José Luis
Posts: 337
Joined: Fri Oct 07, 2005 02:44 PM
Re: Problema al escribir en el registro ¿falla la clase treg32?
Posted: Thu Mar 25, 2010 04:09 PM

Hola,

Enlaza en tu proyecto la clase treg32 que esta en fwh\source\classes , no se en que version la que venia en la lib no estaba bien.

Saludos,

Lautaro Moreira

Hola,

Soy un Contador que por necesidad aprendio a programar y se quedo programando.
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Problema al escribir en el registro ¿falla la clase treg32?
Posted: Thu Mar 25, 2010 04:12 PM

José Luis,

Tienes un ejemplo en FWH\samples\TestRg32.prg

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 234
Joined: Tue Sep 01, 2009 07:55 AM
Re: Problema al escribir en el registro ¿falla la clase treg32?
Posted: Fri Mar 26, 2010 09:30 AM

Gracias a ambos por las respuestas:
Lautaro, he seguido tu consejo y el problema persiste.
Antonio, cuando me he decidido a poner el post, era por que ya lo había probado todo, incluso los ejemplos, obteniendo el mismo resultado, me pone la clave en el registo, pero no escribe los valores, en ningún equipo de los que he probado, todos con XP professional.
Gracias y un saludo.

Jose Luis

Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Problema al escribir en el registro ¿falla la clase treg32?
Posted: Fri Mar 26, 2010 11:58 AM
Saludos Grois...


Te dejo un ejemplo usando la clase TReg32 de FWH y probado en winxp, usando la informacion que has suministrado

http://www.sitasoft.net/fivewin/samples/testrg32.rar


Code (fw): Select all Collapse
#include "FiveWin.Ch"

#define  HKEY_CURRENT_USER       2147483649 

//---------------------------------------------------------------------------//

function Main()

   LOCAL oReg, cName, uVar
   
   oReg = TReg32():New( HKEY_CURRENT_USER, "SOFTWARE\Medida\Etiqueta" )
   IF oReg:nError <> 0
      oReg = TReg32():Create( HKEY_CURRENT_USER, "SOFTWARE\Medida\Etiqueta" )
      oReg:Set( "","The default value")
      oReg:Set( "cmetiq01","00")
      oReg:Set( "cmetiq02","00")
      oReg:Set( "cmetiq03","00.00")
      oReg:Set( "cmetiq04","00.00")
      oReg:Set( "cmetiq05","00.00")
      oReg:Set( "cmetiq06","00.00")
      oReg:Set( "cmetiq07","00")
      oReg:Set( "cmetiq08","00")
      IF oReg:nError == 0
         oReg:Close()
         oReg := TReg32():New( HKEY_CURRENT_USER, "SOFTWARE\Medida\Etiqueta" )
      ENDIF
   ENDIF

   uVar := oReg:Get( "" ); MsgStop( uVar )
   uVar := oReg:Get( "cmetiq01" ); MsgStop( "cmetiq01: " + uVar )
   uVar := oReg:Get( "cmetiq02" ); MsgStop( "cmetiq02: " + uVar )
   uVar := oReg:Get( "cmetiq03" ); MsgStop( "cmetiq03: " + uVar )
   uVar := oReg:Get( "cmetiq04" ); MsgStop( "cmetiq04: " + uVar )
   uVar := oReg:Get( "cmetiq05" ); MsgStop( "cmetiq05: " + uVar )
   uVar := oReg:Get( "cmetiq06" ); MsgStop( "cmetiq06: " + uVar )
   uVar := oReg:Get( "cmetiq07" ); MsgStop( "cmetiq07: " + uVar )
   uVar := oReg:Get( "cmetiq08" ); MsgStop( "cmetiq08: " + uVar )


   oReg:Close()

return nil

//---------------------------------------------------------------------------//
Posts: 234
Joined: Tue Sep 01, 2009 07:55 AM
Re: Problema al escribir en el registro ¿falla la clase treg32?
Posted: Fri Mar 26, 2010 12:28 PM

Daniel, muchas gracias por tu preocupación, pero obtengo con tu código un resultado simila con FWH 9.09.
El mismo código en 16 bits y clipper funcionaba.
Un saludo
José Luis

Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Problema al escribir en el registro ¿falla la clase treg32?
Posted: Fri Mar 26, 2010 12:43 PM

Groiss...

ejecutaste el exe o compilaste el codigo con tu version de FW??

Posts: 230
Joined: Thu Sep 17, 2015 11:40 PM
Re: Problema al escribir en el registro ¿falla la clase treg32?
Posted: Thu Oct 27, 2016 06:16 PM

estoy tratando de hacer este registro pero no hace nada, con Windows 10 alguna sugerencia.posting.php?mode=reply&f=6&t=18412&sid=5eddcc58c553f9a33d9dd863ae52d257#

oReg := TReg32():Create( HKEY_LOCAL_MACHINE, "SOFTWARE\CaSoft\WinConta Pro" )
oReg:Set( "A path" , cGet[6] )
oReg:Set( "A version", "2016-12.01" )
oReg:Set( "A install", date() )
oReg:Set( "A serie" , cGet[4] )
oReg:close()

Carlos Atuncar - CaSoftSystem
Chincha - Perú
+51983478218
carlosalbatun@gmail.com
Posts: 230
Joined: Thu Sep 17, 2015 11:40 PM
Re: Problema al escribir en el registro ¿falla la clase treg32?
Posted: Thu Oct 27, 2016 06:56 PM
CARLOS ATUNCAR wrote:estoy tratando de hacer este registro pero no hace nada, con Windows 10 alguna sugerencia.posting.php?mode=reply&f=6&t=18412&sid=5eddcc58c553f9a33d9dd863ae52d257#


oReg := TReg32():Create( HKEY_LOCAL_MACHINE, "SOFTWARE\CaSoft\WinConta Pro" )
oReg:Set( "A path" , cGet[6] )
oReg:Set( "A version", "2016-12.01" )
oReg:Set( "A install", date() )
oReg:Set( "A serie" , cGet[4] )
oReg:close()




En Windows 10 funciona poniendo esta direccion

oReg := TReg32():Create( HKEY_LOCAL_MACHINE, "SOFTWARE\WOW6432Node\CaSoft\WinConta Pro" )
Carlos Atuncar - CaSoftSystem
Chincha - Perú
+51983478218
carlosalbatun@gmail.com
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Problema al escribir en el registro ¿falla la clase treg32?
Posted: Fri Oct 28, 2016 01:38 PM

Recordar que el proceso de escribir en el registro requiere elevar permisos de admin en windows 7 o superior,
antes en xp el proceso no lo requería, dado que por default el usuario tenia nivel de admin, pero desde win7 ya no es asi,
y para que la app pueda modificar el registro deben de indicarle a la misma que se ejecute como administrador.
incluso el angunos casos tenemos programas como antivirus que protegen el registro, todo esto lo deben valida antes.
lo ideal es crear un archivo .reg de prueba, para ver si es posible agregar info al registro sin problemas, y ya probarlo en nuestra app.

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM
Re: Problema al escribir en el registro ¿falla la clase treg32?
Posted: Fri Jun 25, 2021 11:42 AM

Hola buenos días para todos

Estoy haciendo pruebas con el tema del registro de información en el regedit del windows, pero hasta ahora sin éxito, compile el ejemplo que viene en los samples de fw testrg32.prg, lo ejecute como administrador pero aun así no funciona.

Intente con solución que propone nuestro amigo CARLOS ATUNCAR, aunque funciona, si ingreso de manera manual al regedit no logro ver la información registrada en el nodo WOW6432Node.

Alguien sabe si hay que hacer algo diferente para que se pueda realizar este registro, de antemano gracias.

PDTA. hice pruebas en windows10 y windows8.

Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Problema al escribir en el registro ¿falla la clase treg32?
Posted: Fri Jun 25, 2021 06:00 PM

La aplicación se está ejecutando con permisos de Administrador?

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Problema al escribir en el registro ¿falla la clase treg32?
Posted: Mon Jun 28, 2021 04:32 PM

Como indica Cristobal..

En windows 8, 8.1,10 y no estoy seguro si en windows 7, la escritura en el registro es una operacion que solo los nivel admin pueden hacer,
por eso si nuestra app desea hacer un cambio en el registro, esta debe ser ejecutada con permisos de admin.
caso contrario, no hara ningun cambio. :-(

salu2
carlos vargas

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)

Continue the discussion