Problema al escribir en el registro ¿falla la clase treg32?

Problema al escribir en el registro ¿falla la clase treg32?

Postby groiss » Wed Mar 24, 2010 9:14 am

Amigos:
Cuando intento crear uno valores en el registro de windows, con el código que muestro aquí:
Code: Select all  Expand view

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
groiss
 
Posts: 220
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

Re: Problema al escribir en el registro ¿falla la clase treg32?

Postby Lautaro » Thu Mar 25, 2010 4: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
User avatar
Lautaro
 
Posts: 322
Joined: Fri Oct 07, 2005 2:44 pm
Location: Osorno, Chile

Re: Problema al escribir en el registro ¿falla la clase treg32?

Postby Antonio Linares » Thu Mar 25, 2010 4:12 pm

José Luis,

Tienes un ejemplo en FWH\samples\TestRg32.prg
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41351
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problema al escribir en el registro ¿falla la clase treg32?

Postby groiss » Fri Mar 26, 2010 9: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
groiss
 
Posts: 220
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

Re: Problema al escribir en el registro ¿falla la clase treg32?

Postby Daniel Garcia-Gil » 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

Image
Code: Select all  Expand view

#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

//---------------------------------------------------------------------------//
 
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Problema al escribir en el registro ¿falla la clase treg32?

Postby groiss » 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
groiss
 
Posts: 220
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

Re: Problema al escribir en el registro ¿falla la clase treg32?

Postby Daniel Garcia-Gil » Fri Mar 26, 2010 12:43 pm

Groiss...

ejecutaste el exe o compilaste el codigo con tu version de FW??
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Problema al escribir en el registro ¿falla la clase treg32?

Postby CARLOS ATUNCAR » Thu Oct 27, 2016 6: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
 
Posts: 118
Joined: Thu Sep 17, 2015 11:40 pm

Re: Problema al escribir en el registro ¿falla la clase treg32?

Postby CARLOS ATUNCAR » Thu Oct 27, 2016 6: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
 
Posts: 118
Joined: Thu Sep 17, 2015 11:40 pm

Re: Problema al escribir en el registro ¿falla la clase treg32?

Postby carlos vargas » Fri Oct 28, 2016 1: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)
User avatar
carlos vargas
 
Posts: 1688
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Problema al escribir en el registro ¿falla la clase treg32?

Postby leandro » 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

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1482
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Problema al escribir en el registro ¿falla la clase treg32?

Postby cnavarro » Fri Jun 25, 2021 6: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
User avatar
cnavarro
 
Posts: 6501
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Problema al escribir en el registro ¿falla la clase treg32?

Postby carlos vargas » Mon Jun 28, 2021 4: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)
User avatar
carlos vargas
 
Posts: 1688
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 7 guests