Select the product you need help with
Cómo utilizar el API de registro para guardar y recuperar la configuraciónId. de artículo: 145679 - Ver los productos a los que se aplica este artículo En esta páginaResumenAunque Visual Basic incluye las funciones SaveSetting y GetSetting para guardar y recuperar información del registro, estas funciones sólo funcionan en una sección específica del registro, el Visual Basic and VBA Program Settings de la clave de raíz HKEY_CURRENT_USER. En este artículo se describe el uso de funciones de API de Windows de 32 bits, que puede utilizarse para establecer y recuperar valores desde cualquier lugar en el registro. Los temas y referencias de función en este artículo pueden ser generalizadas en registro de programa de 16 bits. Las funciones de 32 bits de la API también incluyen compatibilidad para seguridad, aunque es una introducción a la seguridad de fuera del ámbito de este artículo. Nota: Las funciones SaveSetting y GetSetting no forman parte de la biblioteca de función VBA. Sin embargo, el código de ejemplo siguiente todavía se aplica a las aplicaciones de 32 bits que implementan VBA. Más informaciónInformación general de registroEl registro se utiliza por las aplicaciones y Windows para almacenar datos de configuración. Es un sustituto de los números de grandes de archivos INI que proliferado en equipos de Windows 3.x y también se utilizan mucho por OLE.El registro está organizado mediante una serie de claves y valores a un árbol jerárquica. Cada clave, comenzando por una de las seis claves raíz predefinidas, puede tener subclaves y valores asociados con él. Las claves son unidades organizativas y nombres y aparecen en los editores del registro de Windows como archivo de carpetas. Los valores son entradas de datos y aparecen como entradas de texto en el panel derecho de la ventana Editor del registro. Las claves no necesitan tener los valores asociados, pero pueden tener muchos. Cada valor tiene un tipo de datos asociado. Los dos tipos de datos de registro más utilizadas son REG_SZ, una cadena terminada en null; y REG_DWORD, número de 32 bits. El proceso básico que se utiliza para escribir o leer desde una ubicación en el registro es el mismo. Para hacer referencia a cualquier clave determinada o un valor, debe tener un identificador a la clave. Una vez obtenido este identificador, valores y subclaves de la clave que hace referencia este identificador se pueden leer, establecer o aparece (enumeradas). Dada una ubicación en el registro, para obtener un identificador para esa clave, debe comenzar con una de las seis claves predefinidas (HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG y HKEY_DYN_DATA) y recorrer el árbol del registro hasta que alcanza la tecla deseada. Programas de usuario más a menudo lectura y escritura de HKEY_CURRENT_USER y HKEY_LOCAL_MACHINE. Si las claves se recorren ya existen, puede utilizar una serie de llamadas a las funciones RegOpenKey o RegOpenKeyEx. Si las claves deben crearse, las funciones RegCreateKey y RegCreateKeyEx hacer el trabajo. Con el identificador a la clave deseada, se pueden llamar las funciones de lista, conjunto y recuperar información. En todos los casos, las funciones con el sufijo ex funcionará sólo en plataformas de 32 bits. Funciones sin el sufijo pueden funcionar en las versiones de 16 bits y 32 bits de Windows. Tenga en cuenta que no todas las funciones del registro falta el sufijo 'Ex' son funciones que proporciona compatibilidad de 16 bits. Sólo se agregó el sufijo ex cuando se expanden las capacidades de las funciones de 16 bits. Funciones que están totalmente nueva y específicos para plataformas de 32 bits no poseen una extensión de Exchange. Las funciones RegSetValue y RegSetValueEx permiten la configuración de un valor para modificarse mientras RegQueryValue y RegQueryValueEx recuperan la configuración actual de un valor. Las limitaciones de la Exchange-no, las versiones de 16 bits de estas API son muy evidentes aquí. Cuando se utiliza la función de RegSetValue de 16 bits no hay ninguna forma de denominar un valor y, a causa de esto, RegSetValue no se utiliza para asociar más de un valor a cada clave. Además, todos los valores escritos con RegSetValue tener un tipo de datos de REG_SZ. Estas limitaciones son inherentes a con el registro de 16 bits. RegSetValueEx permite la creación de un número de valores múltiples con cualquier tipo de datos disponibles. Cómo escribir en una ubicación de registro específicoDespués de determinar qué funciones tendrá que utilizar para el proyecto, copia el correspondiente se declara desde el código al final de este artículo a un módulo básico. Los dos Visual Basic procedimientos incluidos (SetValueEx y QueryValueEx) son contenedores para las funciones RegSetValueEx y API RegQueryValueEx y simplifican enormemente su uso. Las notas de hacer uso de estas funciones de Visual Basic; sin embargo, es libres para realizar llamadas directamente a la API si lo desea.Crear o modificar claves y valores: Con las declaraciones y procedimientos disponibles, puede crear y abrir las claves y agregar, modificar y leer valores. Las tres secciones siguientes explica cómo crear una clave, establecer o modificar un valor y consultar un valor. Crear una clave nueva: Creando una nueva clave es tan sencillo como mediante el procedimiento siguiente. CreateNewKey toma el nombre de la clave para crear y la constante que representa la clave predefinida para crear la clave en. La llamada al RegCreateKeyEx no aprovechar los mecanismos de seguridad permitidos, pero podría modificarse para hacerlo. Una explicación de la seguridad del registro queda fuera del ámbito de este artículo. Con este procedimiento una llamada de: creará una clave denominada TestKey inmediatamente debajo de HKEY_LOCAL_MACHINE. Llamada CreateNewKey así: creará anidados tres claves comienzan con TestKey inmediatamente bajo HKEY_CURRENT_USER, SubKey1 subordinados a TestKey y SubKey3 en SubKey2. Un valor de configuración o modificar: Crear y establecer un valor de una clave especificada pueden realizarse con el siguiente procedimiento corto. SetKeyValue toma la clave que el valor se asociará con el nombre del valor, la configuración del valor y el tipo del valor (el SetValueEx función sólo admite REG_SZ y REG_DWORD, pero esto puede modificarse si es necesario). Especifique un nuevo valor para un sValueName existente se modifique la configuración actual de dicho valor. Una llamada de: creará un valor de tipo REG_SZ denominada "ValorString" con el valor de "Hello". Este valor se asociará con la clave SubKey1 de "TestKey." En este caso, "TestKey" es una subclave de HKEY_CURRENT_USER, pero esto se puede modificar cambiando la llamada a RegOpenKeyEx. Esta llamada fallará si no existe "TestKey\SubKey1". Para evitar este problema, utilice una llamada a RegCreateKeyEx en lugar de una llamada a RegOpenKeyEx. RegCreateKeyEx abrirá una clave especificada, si ya existe. Consultar un valor: El siguiente procedimiento puede utilizarse para determinar el valor de un valor existente. QueryValue toma el nombre de la clave y el nombre de un valor asociado a esa clave y muestra un cuadro de mensaje con el valor correspondiente. Utiliza una llamada a la función de contenedor de QueryValueEx definida a continuación, sólo admite tipos REG_SZ y REG_DWORD. Con este procedimiento, una llamada de: se mostrará un cuadro de mensaje con la configuración actual del valor "ValorString" y se supone que "ValorString" existe en la clave "TestKey\SubKey1". Si no existe el valor que consulta QueryValue devuelve un código de error de 2 - 'ERROR_BADKEY'. Notas adicionales: Los ejemplos anteriores utiliza exclusivamente las versiones de 32 bits extendidas de las funciones del registro. Estas funciones permiten más de un valor para asociarse a cada clave. Como se explicó anteriormente, el RegSetValue de 16 bits y RegQueryValue actúan en un único valor asociado con la clave actual (que es siempre de tipo REG_SZ). Estas funciones aparecen en el Editor del registro de 32 bits con un nombre de < NO NAME >. Para establecer, modificar o consultar este valor especial asociado, uno debe utilizar las funciones de registro de 16 bits. Lectura y escritura del registro en un entorno de 16 bits son mucho más sencillo que en un entorno de 32 bits. Se sigue el mismo procedimiento básico: abrir una clave y obtener un identificador y, a continuación, llamar a su función de modificación con ese identificador, pero no necesita consideración realizarse para varios valores asociados o para tipos de datos de valor diferente. Una aplicación de 16 bits puede crear y modificar claves y valores con las declaraciones de las funciones RegCreateKey, RegOpenKey, RegQueryValue, RegSetValue y RegCloseKey. En algunos casos, no es necesario para los valores de asociarse con una clave. Es posible que una aplicación sólo necesita saber si existe una clave o valor y no preocuparse de la naturaleza de los valores de la clave. En una situación como ésta, las funciones RegEnumKey, RegEnumKeyEx y RegEnumValue pueden utilizarse para determinar si existe una clave o valor. Para obtener más información sobre estas funciones consulte la referencia de API Visor de texto y API de Windows. Función de API y declaraciones de constantesSetValueEx y funciones de QueryValueEx contenedor: ReferenciasProgramación de la Windows 95 interfaz de usuario, capítulo 10 - "Utilizar el registro" Para las referencias de función: cualquier guía al Win16 o API Win32. PropiedadesId. de artículo: 145679 - Última revisión: jueves, 15 de julio de 2004 - Versión: 1.2 La información de este artículo se refiere a:
Traducción automática IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente. Haga clic aquí para ver el artículo original (en inglés): 145679
(http://support.microsoft.com/kb/145679/en-us/
)
| Seleccione idioma
|




Volver al principio








