elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Tutorial crear una regla en registro usando c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Tutorial crear una regla en registro usando c++  (Leído 3,207 veces)
Borito30


Desconectado Desconectado

Mensajes: 481


Ver Perfil
Tutorial crear una regla en registro usando c++
« en: 1 Febrero 2017, 23:34 pm »

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
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <conio.h>
  4.  
  5. using namespace std;
  6.  
  7. int main(int argc, char *argv [])
  8. {
  9. //asignamos key el valor nulo
  10.  HKEY key = 0;
  11. //creamos la regla
  12. RegCreateKey(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&key)
  13.  //elegimos la ruta donde se creara
  14.  LPCTSTR ruta = TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\");
  15.  //con status podemos saber si la regla se creo correctamente
  16.  long status = RegOpenKey(HKEY_CURRENT_USER, ruta, &key);
  17.  if (status != 0)
  18.  {
  19.    cout << "Win error: " << GetLastError() <<  endl;
  20.  }
  21.  else
  22.  {
  23.    //nombre de nuestra subclave
  24.    string subclave="System";
  25.    //valor de la subclave
  26.    string valor="C:\\Windows\\tuprograma.exe";
  27.  
  28.    //hacemos la conversion del nombre de la subclave y la subclave
  29.    LPCTSTR _subclave = TEXT(subclave.c_str());
  30.    LPCTSTR _valor = TEXT(valor.c_str());
  31.    long crear = RegSetValueEx(key, _subclave, 0, REG_SZ, (LPBYTE) _valor, strlen(_valor) * sizeof(char));
  32.    if (crear != 0)
  33.    {
  34.        //si falla sera porque no teneis permisos o crear es diferente a 0
  35.      cout << "Win error: " << GetLastError() << endl;
  36.    }
  37.    else
  38.    {
  39.        //se creo correctamente ya que crear vale 0 que es el valor creado
  40.      cout << "Subclave creada correctamente" << endl;
  41.    }
  42.  }
  43.  
  44.  RegCloseKey(key);
  45.  //hacemos un getch para que no se cierre nuestro programa y ver que se creo //correctamente si quereis lo podeis quitar
  46.  _getch();
  47. }


« Última modificación: 2 Febrero 2017, 13:29 pm por Ragaza » En línea

Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)
naidmen

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Tutorial crear una regla en registro usando c++
« Respuesta #1 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.


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Tutorial crear una regla en registro usando c++
« Respuesta #2 en: 13 Febrero 2017, 04:04 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...
En línea

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.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines