Autor
|
Tema: Anclar programa al registro (Leído 3,140 veces)
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
Hola compas, para anclar al registro uso esto: 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
Mensajes: 3.412
ASMático
|
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
Mensajes: 702
The man in the Middle
|
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
Mensajes: 3.412
ASMático
|
estaría bien encontrar la manera de hacerlo para C
La winapi se puede usar en C eh?
|
|
|
En línea
|
|
|
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
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=quebectoolsHe encontrado un código parecido al mío, pero no igual tendría que hacer algo así según esto: 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
Mensajes: 481
555-555-0199@example.com
|
Yo lo hago con la winAPI HKEY clave; RegOpenKey(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",&clave); RegSetValueEx(clave,"first logout",0,REG_SZ,(LPBYTE)dir,sizeof(dir));
dir seria C:\app\app.exe
|
|
|
En línea
|
|
|
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
¿Quieres decir que con esto bastaría? 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
|
Hola Kaxperday. Bueno si lo que quieres es crear una clave de registro para cuando windows inicie yo uso esta forma. #include <stdio.h> #include <windows.h> int main() { char *path = "C:\\Users\\pruebas\\Escritorio\\programa.exe"; int regKey, regOpen; HKEY hkey; regOpen = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", &hkey); if (regOpen == 1) printf("La clave ya esta creada\n"); else { regKey = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", &hkey); if(regKey == 0) { RegSetValueEx ((HKEY )hkey , "progInicio", 0, REG_SZ , (BYTE *)path , strlen(path )); printf("Se creo la clave en el registro con exito\n"); } else printf("No se pudo crear la clave en el registro\n"); } while(TRUE) return 0; }
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Anclar a la barra de tareas, c++
Programación C/C++
|
MasterPunk
|
0
|
2,211
|
30 Septiembre 2010, 16:29 pm
por MasterPunk
|
|
|
Necesito anclar mi APP ?
.NET (C#, VB.NET, ASP)
|
TrashAmbishion
|
1
|
1,960
|
3 Febrero 2013, 03:04 am
por Eleкtro
|
|
|
ANCLAR DISPOSITIVO USB EN EL ADMINISTRADOR DE DISPOSITIVOS
Windows
|
arturoro
|
0
|
1,799
|
9 Marzo 2013, 00:13 am
por arturoro
|
|
|
¿Como anclar HDD en esta torre?
Hardware
|
burtxet
|
1
|
2,454
|
10 Septiembre 2016, 23:26 pm
por Hason
|
|
|
Cómo anclar un código a un navegador?
Desarrollo Web
|
ike array
|
6
|
4,204
|
25 Noviembre 2016, 22:03 pm
por ike array
|
|