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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Anclar programa al registro
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Anclar programa al registro  (Leído 2,830 veces)
Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Anclar programa al registro
« en: 13 Septiembre 2014, 13:34 pm »

Hola compas, para anclar al registro uso esto:

Código:
char ad[]="REG ADD HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v IniciarProgramas /t REG_SZ /d \"C:\\Users\\%username%\\directorio\\programa.exe\"";
system(ad);

El problema es que al ejecutar el programa no lo ancla (pues reinicio y no lo ejecuta), sin embargo si lo escribo en la consola si se ancla correctamente, me gustaría saber si tienen una manera más eficaz para anclar un programa al registro en C, además está que uso no funciona si el programa cambia de directorio.

Saludos.


En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Anclar programa al registro
« Respuesta #1 en: 13 Septiembre 2014, 15:22 pm »

Nunca lo hice por consola, pero si te parece bien, también puedes usar la API de Windows:
RegCreateKey y RegSetValue, RegDeleteValue, RegQueryValue, RegOpenKey, RegCloseKey. (Esa son las principales)


En línea

Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Anclar programa al registro
« Respuesta #2 en: 13 Septiembre 2014, 17:29 pm »

Es que tengo entendido que se puede hacer por la consola, usando variables HKEY y demás estaría bien encontrar la manera de hacerlo para C. Si alguien sabe algo al respecto que lo diga, la idea es anclar el .exe al con el código automáticamente.

Ya dije que me funcionaba si lo ponia en la CMD pero usando system no iba, me pondré a buscarlo pues.
En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Anclar programa al registro
« Respuesta #3 en: 13 Septiembre 2014, 22:09 pm »

estaría bien encontrar la manera de hacerlo para C

La winapi se puede usar en C eh?
En línea

Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Anclar programa al registro
« Respuesta #4 en: 14 Septiembre 2014, 00:39 am »

Con la winapi se podrá hacer también pero tampoco sé, creo que atajo más si lo hago directamente con una orden con system.

Aqui: http://social.msdn.microsoft.com/Forums/en-US/5b318f44-281e-4098-8dee-3ba8435fa391/add-registry-key-for-autostart-of-app-in-ice?forum=quebectools

He encontrado un código parecido al mío, pero no igual tendría que hacer algo así según esto:

Código:
system("reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "App1" /t REG_SZ /d "C:\app\app.exe" /f");

El problema es que esto no trabaja, al igual que no lo hace system("cmd.exe netstat"), o system("start cmd.exe netstat");

De todas formas haber si encuentro el código y lo paso.
« Última modificación: 14 Septiembre 2014, 00:42 am por Kaxperday » En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
patilanz


Desconectado Desconectado

Mensajes: 481

555-555-0199@example.com


Ver Perfil WWW
Re: Anclar programa al registro
« Respuesta #5 en: 14 Septiembre 2014, 15:33 pm »

Yo lo hago con la winAPI
Código
  1. HKEY clave;
  2. RegOpenKey(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",&clave);
  3. RegSetValueEx(clave,"first logout",0,REG_SZ,(LPBYTE)dir,sizeof(dir));

dir seria C:\app\app.exe
En línea

Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Anclar programa al registro
« Respuesta #6 en: 14 Septiembre 2014, 23:29 pm »

¿Quieres decir que con esto bastaría?

Citar
HKEY clave;
char *dir="C:\directoriodelaapp\app.exe";
RegOpenKey(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",&clave);
RegSetValueEx(clave,"first logout",0,REG_SZ,(LPBYTE)dir,sizeof(dir));

Ya lo probaré haber si se ancla correctamente y no da problemas.

Saludos y gracias.
En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
Drewermerc

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: Anclar programa al registro
« Respuesta #7 en: 15 Septiembre 2014, 04:32 am »

Hola Kaxperday.
Bueno si lo que quieres es crear una clave de registro para cuando windows inicie yo uso esta forma.
Código
  1. #include <stdio.h>
  2. #include <windows.h>
  3.  
  4. int main()
  5. {
  6. char *path = "C:\\Users\\pruebas\\Escritorio\\programa.exe";
  7. int regKey, regOpen;
  8. HKEY hkey;
  9.  
  10. regOpen = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", &hkey);
  11. if (regOpen == 1)
  12. printf("La clave ya esta creada\n");
  13. else
  14. {
  15. regKey = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", &hkey);
  16. if(regKey == 0)
  17. {
  18. RegSetValueEx((HKEY)hkey, "progInicio", 0, REG_SZ, (BYTE*)path, strlen(path));
  19. printf("Se creo la clave en el registro con exito\n");
  20. }
  21. else
  22. printf("No se pudo crear la clave en el registro\n");
  23. }
  24. while(TRUE)
  25. printf("hola\n");
  26.  
  27. return 0;
  28.  
  29. }
  30.  

Y bueno para que funciones si usas algún IDE como devcpp o codeblock si lo ejecutas desde hay no funcionara tiene que hacerlo tu ejecutando lo como administrado.
Bueno espero que te sirva.
Saludos.
Drewermerc.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Anclar a la barra de tareas, c++
Programación C/C++
MasterPunk 0 1,965 Último mensaje 30 Septiembre 2010, 16:29 pm
por MasterPunk
Necesito anclar mi APP ?
.NET (C#, VB.NET, ASP)
TrashAmbishion 1 1,789 Último mensaje 3 Febrero 2013, 03:04 am
por Eleкtro
ANCLAR DISPOSITIVO USB EN EL ADMINISTRADOR DE DISPOSITIVOS
Windows
arturoro 0 1,658 Último mensaje 9 Marzo 2013, 00:13 am
por arturoro
¿Como anclar HDD en esta torre?
Hardware
burtxet 1 2,183 Último mensaje 10 Septiembre 2016, 23:26 pm
por Hason
Cómo anclar un código a un navegador?
Desarrollo Web
ike array 6 3,878 Último mensaje 25 Noviembre 2016, 22:03 pm
por ike array
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines