crear una clave de registro con c++

Iniciado por Borito30, 10 Diciembre 2016, 20:28 PM

0 Miembros y 1 Visitante están viendo este tema.

Borito30

Hola sigo sin resolverlo. Cambie el codigo sigo con errores.
#include "stdafx.h"
#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[])
{

HKEY key = 0;
LPCTSTR ruta = TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\");
long status = RegOpenKey(HKEY_LOCAL_MACHINE, ruta, &key);
if (status != 0)
{
cout << "Win error: " << GetLastError() << endl;
}
else
{
string subclave;
subclave = "cualquiera";
string valor;
valor = "ruta";

LPCTSTR _subclave = TEXT("");
LPCTSTR _valor = TEXT("");
LPCTSTR _subclave = TEXT(subclave);
LPCTSTR _valor = TEXT(valor);

long crear = RegSetValueEx(key, _subclave, 0, REG_SZ, (LPBYTE)_valor, strlen(_valor) * sizeof(char));
if (crear != 0)
{
cout << "Win error: " << GetLastError() << endl;
}
else
{
cout << "Subclave creada correctamente" << endl;
}
}

RegCloseKey(key);

system("PAUSE");
return 0;
}


nueva captura de mis errores:


Se que seguro es una tontería. sabes porque o como puedo arreglar estos errores unos son de conversión y eso uno de argumento.

corregido lo de las lineas comentadas.
Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)

ivancea96

¿Por qué están las líneas comentadas?
Con esas líneas comentadas, no saltarían lso errores.

En cualquier caso:

El macro TEXT() se utiliza para constantes. No le puedes pasar .c_str().

Corrige eso, descomenta las líneas antes de pegar aquí el código, y vuelve a poner los errores.

Borito30

Cita de: ivancea96 en 10 Diciembre 2016, 22:56 PM
¿Por qué están las líneas comentadas?
Con esas líneas comentadas, no saltarían lso errores.

En cualquier caso:

El macro TEXT() se utiliza para constantes. No le puedes pasar .c_str().

Corrige eso, descomenta las líneas antes de pegar aquí el código, y vuelve a poner los errores.
actualizado! Sigue dando problemas al compilarlo pero ai sigo intentandolo..
Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)