Funciones de lectura y escritura del registro de Windows

Introducción

A partir de la versión Solis, se incluyen funciones que permiten escribir y leer información en el registro de Windows desde GeneXus.

 

Alcance

Objetos: Transacciones, Workpanels, Webpanels, Procedimientos y Reportes.

Lenguajes: Visual Basic, Visual FoxPro

 

Descripción

Permiten tener un manejo avanzado del registro de Windows, por eso se recomienda utilizarlas con precaución.

 

Algunos usos de estas funciones serían, poder guardar configuración del usuario conectado, o preferencias de alguna aplicación. Así como también poder obtener la ubicación del directorio temporal de la máquina, o el idioma del sistema operativo.

 

En particular, la función que permite escribir en el registro de Windows, se puede utilizar para guardar la información de la ubicación de la base de datos local de una aplicación GeneXus, que luego se accederá con la Keyword RegKey (este método es el que sustituye al archivo con extensión INI para indicar la ubicación de la base de datos local).

 

Funciones

WriteRegKey

Permite ingresar información en el registro de Windows.

 

Sintaxis:  &Ret = WriteRegKey(&Path, &Value)

 

 

&Path

Es el camino donde se va a guardar el valor.

Es de tipo carácter.

&Value

Es el valor a configurar en el &Path especificado, también es de tipo carácter.

&Ret

Es el valor devuelto por la función luego de realizar la operación. Si el valor devuelto es 0, significa que no hubo errores, si es diferente de 0 es porque hubo errores.

Esta variable es de tipo numérico.

 

 

 ReadRegKey

Permite leer información del registro de Windows.

 

Sintaxis: &String = ReadRegKey(&Path)

 

 

&Path

Camino desde donde se desea obtener el valor.

Es de tipo carácter.

&String

Valor almacenado en el &Path especificado.

Es de tipo carácter.

 

 

Consideraciones Generales

·         No es posible grabar cualquier sección del registro de Windows, sólo se permiten grabar valores bajo las siguientes carpetas:

HKEY_LOCAL_MACHINE\Software

HKEY_USERS\Software

HKEY_CURRENT_CONFIG\Software

 

·         En Windows NT y Windows 2000 es necesario tener permisos para actualizar HKEY_CURRENT_CONFIG y HKEY_LOCAL_MACHINE

 

Ejemplo

El siguiente ejemplo muestra el uso de estas funciones desde GeneXus.

 

Event Start

&path = 'HKEY_LOCAL_MACHINE\Software\Empresa'

&Value = 'C:\Program Files\Aplicacion'

EndEvent  // Start

 

Event 'Grabar'

&Ret = WriteRegKey(&Path, &Value)

EndEvent  // 'grabar'

 

Event 'Leer'

&String = ReadRegKey(&Path)

EndEvent  // Enter

 

 

En este ejemplo se crea un nuevo String Value debajo de la clave ‘HKEY_LOCAL_MACHINE\Software’, de nombre ‘Empresa’ y el valor asociado será ‘C:\Program Files\Aplicación’.