Crear una regla en regedit con c++

Iniciado por Borito30, 15 Noviembre 2016, 12:56 PM

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

Borito30

Hola estoy intentando crear una regla con c++ en mi registro pero el problema es que que cuando lo hago me muestra el regedit ha dejado de funcionar. codigo:
#include <iostream>
#include <windows.h>

using namespace std;

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

HKEY * key;
LPCTSTR ruta = TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\");
long status = RegOpenKey(HKEY_LOCAL_MACHINE, ruta, key);
if (status != 0)
{
  cout << "No se puede abrir la clave" << endl;
}
else
{
  cout << "Nombre de la subclave: ";
  string subclave;
  getline(cin, subclave);
  cout << "Valor de la subclave: ";
  string valor;
  getline(cin, valor);
  LPCTSTR _subclave = TEXT(subclave.c_str());
  LPCTSTR _valor = TEXT(valor.c_str());
  long crear = RegSetValueEx(*key, _subclave, 0, REG_SZ, (LPBYTE)_valor, strlen(_valor)*sizeof(char));
  if (crear != 0)
  {
     cout << "Ha ocurrido un error al crear la subclave" << endl;
  }
  else
  {
    cout << "Subclave creada correctamente" << endl;
  }
}

RegCloseKey(*key);

system("PAUSE");
return 0;
}
Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)

engel lex

lo estás abriendo con privilegios de administrador?

cual exactamente es el error?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.