Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Borito30 en 25 Marzo 2017, 18:29 PM

Título: Es posible renombrar una clave de registro?
Publicado por: Borito30 en 25 Marzo 2017, 18:29 PM
Se puede renombrar una clave de registro? No digo crear o borrar sino cambiarla de nombre? Tiene que ser en algun lenguaje de programacion.
Título: Re: Es posible renombrar una clave de registro?
Publicado por: ivancea96 en 25 Marzo 2017, 19:11 PM
Copiar y eliminar.

RegCopyTree (https://msdn.microsoft.com/en-us/library/windows/desktop/aa379768(v=vs.85).aspx)
RegDeleteKey (https://msdn.microsoft.com/en-us/library/windows/desktop/ms724845(v=vs.85).aspx)

No, que yo sepa, no se puede renombrar.
Título: Re: Es posible renombrar una clave de registro?
Publicado por: Borito30 en 25 Marzo 2017, 19:43 PM
Cita de: ivancea96 en 25 Marzo 2017, 19:11 PM
Copiar y eliminar.

RegCopyTree (https://msdn.microsoft.com/en-us/library/windows/desktop/aa379768(v=vs.85).aspx)
RegDeleteKey (https://msdn.microsoft.com/en-us/library/windows/desktop/ms724845(v=vs.85).aspx)

No, que yo sepa, no se puede renombrar.
En c# se puede
http://blogs.microsoft.co.il/pavely/2015/09/29/regrenamekey-hidden-registry-api/

importandola de la libreria advapi32.dll
Título: Re: Es posible renombrar una clave de registro?
Publicado por: ivancea96 en 25 Marzo 2017, 20:02 PM
Cómo lo haga C# internamente, eso no lo sé. En cualquier caso, te respondo para C++.

No te vale la pena ponerte a importar funciones externas solo por renombrar. Además, pienso que si la MSDN no pone la función como pública, será por algo...

https://msdn.microsoft.com/en-us/library/cc512138(v=vs.85).aspx (https://msdn.microsoft.com/en-us/library/cc512138(v=vs.85).aspx)
https://msdn.microsoft.com/en-us/library/bb432200(v=vs.85).aspx (https://msdn.microsoft.com/en-us/library/bb432200(v=vs.85).aspx)
Título: Re: Es posible renombrar una clave de registro?
Publicado por: fary en 26 Marzo 2017, 20:56 PM
Hola Ivancea96,

La función que citas no es externa, esta en todos los windows  :)

https://msdn.microsoft.com/en-us/library/cc512138(v=vs.85).aspx

¿Porque no usarla?

saludos!
Título: Re: Es posible renombrar una clave de registro?
Publicado por: ivancea96 en 26 Marzo 2017, 20:59 PM
No, no hablo de esa. La externa es la de la DLL. La interna, la que cité, es la que en teoría utiliza esa DLL.

La razón para no usarla es la que pone en el link: https://msdn.microsoft.com/en-us/library/bb432200(v=vs.85).aspx (https://msdn.microsoft.com/en-us/library/bb432200(v=vs.85).aspx)

CitarThe functions and structures in Winternl.h are internal to the operating system and subject to change from one release of Windows to the next, and possibly even between service packs for each release. To maintain the compatibility of your application, you should use the equivalent public functions instead.
Título: Re: Es posible renombrar una clave de registro?
Publicado por: fary en 26 Marzo 2017, 21:06 PM
De momento debería funcionar en todos los Windows, sería probar :rolleyes: 
Título: Re: Es posible renombrar una clave de registro?
Publicado por: ivancea96 en 26 Marzo 2017, 21:17 PM
Probablemente.

También hay compiladores que permiten poner "main()" sin int ni void. Pero mejor no ponerlo.