C/Visual C - AYUDA MANEJO DE REGISTRO WINDOWS XP

 
Vista:

AYUDA MANEJO DE REGISTRO WINDOWS XP

Publicado por ALMUDENA (1 intervención) el 28/04/2003 10:49:22
NECESITO QUE ALGUIEN ME EXPLIQUE COMO AÑADIR UNA NUEVA CLAVE Y SU VALOR AL REGISTRO DE WINDOS XP MEDIANTE C++.
LO HE INTENTADO HACER MEDIANTE LA FUNCION RegCreateKeyEx, PERO NO ME FUNCIONA.POR FAVOR CONTESTADME ES URGENTE.GRACIAS.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Añadiendo una nueva clave y valor al registro de Windows XP con C++

Publicado por Alejandro (1153 intervenciones) el 19/05/2025 20:17:19
Para añadir una nueva clave y su valor al registro de Windows XP utilizando C++, puedes utilizar la función `RegCreateKeyEx`. A continuación, te muestro un ejemplo de cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <windows.h>
#include <iostream>
 
int main() {
    HKEY hKey;
    LPCSTR subKey = "SOFTWARE\\MyCompany"; // Cambia esto a la ruta deseada
    DWORD dwDisposition;
 
    // Crear o abrir la clave del registro
    LONG result = RegCreateKeyExA(
        HKEY_LOCAL_MACHINE, // HKEY donde se creará la clave
        subKey,             // Ruta de la clave
        0,                  // Reservado, debe ser 0
        NULL,               // Nombre de la clase de la clave
        0,                  // Opciones de la clave
        KEY_ALL_ACCESS,     // Acceso a la clave
        NULL,               // Atributos de seguridad
        &hKey,              // Manejo de la clave
        &dwDisposition      // Indica si se creó una nueva clave o se abrió una existente
    );
 
    if (result == ERROR_SUCCESS) {
        // Establecer el valor de la clave
        DWORD value = 1; // Valor que deseas establecer
        result = RegSetValueExA(
            hKey,               // Manejo de la clave
            "MyValue",          // Nombre del valor
            0,                  // Reservado, debe ser 0
            REG_DWORD,         // Tipo de valor
            (LPBYTE)&value,     // Puntero al valor
            sizeof(value)       // Tamaño del valor
        );
 
        if (result == ERROR_SUCCESS) {
            std::cout << "Clave y valor añadidos exitosamente." << std::endl;
        } else {
            std::cerr << "Error al establecer el valor: " << result << std::endl;
        }
 
        // Cerrar la clave
        RegCloseKey(hKey);
    } else {
        std::cerr << "Error al crear o abrir la clave: " << result << std::endl;
    }
 
    return 0;
}

Notas:
1. Asegúrate de ejecutar tu aplicación con privilegios de administrador, ya que modificar el registro en `HKEY_LOCAL_MACHINE` requiere permisos elevados.
2. Si estás utilizando Visual Studio, asegúrate de que tu proyecto esté configurado para compilar con el SDK de Windows adecuado.
3. Puedes consultar la documentación de `RegCreateKeyExA` y `RegSetValueExA` para más detalles sobre sus parámetros y uso (como se menciona en los resúmenes proporcionados).

¡Buena suerte, Almudena!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar