Tutorial crear una regla en registro usando c++

Iniciado por Borito30, 1 Febrero 2017, 23:34 PM

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

Borito30

Hola esto es un codigo de como podeis crear una regla en registro usando solamente c++. Viene con comentarios para que podais. Es para novatos.

Código (cpp) [Seleccionar]
#include <iostream>
#include <windows.h>
#include <conio.h>

using namespace std;

int main(int argc, char *argv [])
{
//asignamos key el valor nulo
 HKEY key = 0;
//creamos la regla
RegCreateKey(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&key)
 //elegimos la ruta donde se creara
 LPCTSTR ruta = TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\");
 //con status podemos saber si la regla se creo correctamente
 long status = RegOpenKey(HKEY_CURRENT_USER, ruta, &key);
 if (status != 0)
 {
   cout << "Win error: " << GetLastError() <<  endl;
 }
 else
 {
   //nombre de nuestra subclave
   string subclave="System";
   //valor de la subclave
   string valor="C:\\Windows\\tuprograma.exe";

   //hacemos la conversion del nombre de la subclave y la subclave
   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)
   {
       //si falla sera porque no teneis permisos o crear es diferente a 0
     cout << "Win error: " << GetLastError() << endl;
   }
   else
   {
       //se creo correctamente ya que crear vale 0 que es el valor creado
     cout << "Subclave creada correctamente" << endl;
   }
 }

 RegCloseKey(key);
 //hacemos un getch para que no se cierre nuestro programa y ver que se creo //correctamente si quereis lo podeis quitar
 _getch();
}
Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)

naidmen

Oye men. llevo casi 6 meses aprendiendo lenguaje C pero aun no se que eso que usan de H_key y esas cosas, me gustaría aprender ya que en Internet es muy limitada la información o por lo menos a mi no me aparece.

engel lex

Cita de: naidmen en 13 Febrero 2017, 03:56 AM
Oye men. llevo casi 6 meses aprendiendo lenguaje C pero aun no se que eso que usan de H_key y esas cosas, me gustaría aprender ya que en Internet es muy limitada la información o por lo menos a mi no me aparece.

es cosa de buscar XD muy limitada no es... espcialmente sobre aspectos basicos de windows

esto para mi es el segundo resultado de google buscando "HKEY_CURRENT_USER"
https://es.wikipedia.org/wiki/Registro_de_Windows

lee ese articulo...
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.