In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Problemas al acceder al registro deWindows

Foro de Xailer profesional en español
Responder
Avatar de Usuario
bingen
Mensajes: 581
Registrado: Lun Jul 07, 2014 8:17 pm
Ubicación: Bilbao
Contactar:

Problemas al acceder al registro deWindows

Mensaje por bingen »

Buenas XTeam.

He accedido al registro alguna vez para leer alkguna cosilla, pero esta vez no se que pasa. SI hago esto
WITH OBJECT TRegistry():New()
:Root := HKEY_LOCAL_MACHINE
IF :OpenKey( "SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" ) == 0
Msginfo(ToString(:GetNumeric( "PortNumber", 0 )))
:CloseKey()
ENDIF
END
El OpenKey me devuelve un error 2 y en el manual no se indican los errores, ni tampoco los encuentro mirando por Internet. Me podrían decir donde encontrarlos para saber que es lo quwe hago mal??

Gracias y salu2.
BiSoft Desarrollo de software profesional
http://www.bisoft.es
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9447
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Problemas al acceder al registro deWindows

Mensaje por ignacio »

Hola Bingen,

Sé que en Windows 10 hay unos problemas tremendos para acceder al registro ya que casi todas sus ramas están bloqueadas, sobre todo, las de LOCAL_MACHINE. José Giménez se ha peleado mucho con este asunto y espero que te pueda decir algo más al respecto.

Un saludo
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Re: Problemas al acceder al registro deWindows

Mensaje por jfgimenez »

Bingen,

sí, me he peleado bastante con Windows 10 y el registro. Lo que estás intentando hacer puede que te funcione abriendo una a una cada clave de la rama. P.ej:

Código: Seleccionar todo

IF :OpenKey( "SYSTEM" ) == 0
   IF :OpenKey( "CurrentControlSet" ) == 0
      IF :OpenKey( "Control" ) == 0
         IF :OpenKey( "Terminal Server" ) == 0
            IF :OpenKey( "WinStations" ) == 0
               IF :OpenKey( "RDP-Tcp" ) == 0
                  ...
Por desgracia, cada vez que hay una nueva actualización de windows cambia su comportamiento. Vamos, que unos días funciona y otros no... las cosas caóticas de las actualizaciones de Windows 10 :-(

Por otro lado, si en algún momento tienes que guardar algo en el registro de windows... un consejo: usa HKEY_CURRENT_USER

Intentar usar HKEY_LOCAL_MACHINE parar guardar algo es luchar contra los elementos. Hay una cosa que MS ha llamado "virtualización del registro de windows", que no es más que la demostración de que cuando estás desarrollando no puedes tomar alcohol ni drogas, que parece que fue lo que pasó cuando desarrollaron esa parte de windows.

Para colmo de males, hoy en día no hay ningún sitio "oficial" en windows donde un programa pueda guardar algo que sirva para todos los usuarios del sistema. P.ej., imagina que quieres guardar con tu programa información del tipo "impresora para tiques", y que esta información esté disponible para cualquier usuario que acceda al ordenador. Pues bien, si usas HKEY_CURRENT_USER sólo vale para el usuario con el que has entrado. Lo lógico sería utilzar HKEY_LOCAL_MACHINE, pero ¡sorpresa! la virtualización del registro hace que se guarde en una subrama de HKEY_CURRENT_USER, con lo que sólo vale para el usuario actual. Vamos, lo dicho: hagas lo que hagas sólo vale para el usuario actual.
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Avatar de Usuario
bingen
Mensajes: 581
Registrado: Lun Jul 07, 2014 8:17 pm
Ubicación: Bilbao
Contactar:

Re: Problemas al acceder al registro deWindows

Mensaje por bingen »

Que lio

Creo que voy a empezar a tomar alcohol y drogas, asi quizás empiece a entender que hacen estos de Microsoft.

Muchas gracias por vuestras aclaraciones, voy a intentar el paso a paso.

Salu2.
BiSoft Desarrollo de software profesional
http://www.bisoft.es
Avatar de Usuario
bingen
Mensajes: 581
Registrado: Lun Jul 07, 2014 8:17 pm
Ubicación: Bilbao
Contactar:

Re: Problemas al acceder al registro deWindows

Mensaje por bingen »

Nada ni con esto no va para nada saca un error 5 que no se que será... pero desisto.

IF :OpenKey( "SYSTEM" ) == 0
IF :OpenKey( "CurrentControlSet" ) == 0
IF :OpenKey( "Control" ) == 0
IF :OpenKey( "Terminal Server" ) == 0
IF :OpenKey( "WinStations" ) == 0
IF :OpenKey( "RDP-Tcp" ) == 0
Msginfo(ToString(:GetNumeric( "PortNumber", 0 )))

Endif
Endif
Endif
Endif
Endif
Endif
MsgInfo(:nLastError)
BiSoft Desarrollo de software profesional
http://www.bisoft.es
Responder