Hola a todos!

5? duda que publico hoy xD

Mi duda es esa, como hago para que mi .exe se agregue a los programas que se ejecutan cuando la PC se prende?

Osea, sin que nadie le diga que se prenda manualmente, la PC automaticamente lo ejecuta.

Espero que me entiendan :)

Desde ya muchisimas gracias!

Saludos!

Ejecutar. o presiona las teclas Win sin soltarla presiona R, saldra la ventana de Ejecutar comando. escribe esto msconfig y dale a enter
ahi estan todos los programas que se ejecutan al iniciar la pc, agrega el tuyo y listo.
Metodo 2 y es el mejor, buscate un programa llamado "Timeup utilities 2008" lo instalas lo ejecutas y das click en la opcion, "Tuneup Startup Manager" y ahi buscas tu programa y lo seleccionas como inicio automatico.

Si si, de esa manera lo se. Pero obviamente quiero que a todas las personas que lo usen les pase esto (O tengan la opciones para activarlo o desactivarlo).

No puedo ir por todas las PCs del mundo cambiandoles eso xD

Una forma automatica no hay?

Tienes que agregar una entrada al registro de windows en donde se inician los programas al arrancar el equipo (realmente es al iniciar la sesi?n). Para ello solo se me ocurre usando el execute_shell();

El c?digo ser?a as?:

[gml]

execute_shell("reg"," add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v nombre_de_la_entrada /d 'c:\hubicaci?n\del\programa.exe'");

[/gml]

Aparecer? por medio segundo una pantalla negra que es la CMD de windows, pero es la ?nica forma que se me ocurre... y claro, lo prob? y funciona :P

No tienes  y no deberias por ningun motivo modificar el Regedit si no lo conoces bien.

mira esta ruta: C:\Documents and Settings\All Users\Men? Inicio\Programas\Inicio
Todo acceso directo, exe, o cualquier programa que se guarde ahi se ejecutara al iniciar window.

#5 Octubre 25, 2011, 06:06:53 AM Ultima modificación: Octubre 25, 2011, 06:08:34 AM por MaanuRP
Cita de: elviskelley en Octubre 25, 2011, 06:04:30 AM
No tienes  y no deberias por ningun motivo modificar el Regedit si no lo conoces bien.

mira esta ruta: C:\Documents and Settings\All Users\Men? Inicio\Programas\Inicio
Todo acceso directo, exe, o cualquier programa que se guarde ahi se ejecutara al iniciar window.

En mi PC no funciona asi :/

Estoy en la ruta: H:\Documents and Settings\All Users\Men? Inicio\Programas\Inicio y solo tengo un acceso directo llamado: HP Digital Imaging Monitor (Que es de la impresora) y que no se inicia con la PC.

Igualmente faltarian todos los demas programas que se ejecutan.




Cita de: knd144 en Octubre 25, 2011, 05:43:19 AM
Tienes que agregar una entrada al registro de windows en donde se inician los programas al arrancar el equipo (realmente es al iniciar la sesi?n). Para ello solo se me ocurre usando el execute_shell();

El c?digo ser?a as?:

[gml]

execute_shell("reg"," add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v nombre_de_la_entrada /d 'c:\hubicaci?n\del\programa.exe'");

[/gml]

Aparecer? por medio segundo una pantalla negra que es la CMD de windows, pero es la ?nica forma que se me ocurre... y claro, lo prob? y funciona :P

Para "deshacer" esto como seria? Tendria que borrar esa linea del registro, o se podria sacarlo del msconfig o del "Tuneup Utilities"? Porque tambien lo que se puede hacer es una opcion para ponerlo o sacarlo del autorun de la PC en el juego mismo.

Elvis, he hecho esto muuuuuchas veces, no te imaginas para qu?  XD; pero bueno, mientras no se metan con otras cosas ?ste m?todo no causar? problemas.

Ahora, para eliminar el registro:

[gml]

execute_shell("reg"," delete HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /v nombre_de_la_entrada /f");[/gml]

Y listo.

Por cierto, en teor?a el tunes up no deber?a eliminarlo ya que es de uso cotidiano (cada que se inicia la PC) y si el programa al que est? ligado existe. Una forma de evitar la ejecuci?n del programa es entrar en modo seguro  ;D

#7 Octubre 25, 2011, 07:10:54 AM Ultima modificación: Octubre 25, 2011, 07:36:35 AM por MaanuRP
Te dejo un editable que hice para probar esto:

Lo unico que hace es guardar en un .ini la variable si esta encendido (Osea, si se va a auto-iniciar con Windows (Verde)) o si esta apagado (si no se va a auto-iniciar con Windows (Rojo).

Seguramente al no tener el .ini te va a salir la subimage de error del sprite, solo dale click y prendelo o apago para que cambie.

Lo que te quiero pedir es si puedes completarlo con esos codigos en donde van para que se auto-inicie cuando debe y que no cuando no debe xD

Espero que me puedas ayudar.

Desde ya muchisimas gracias!

Pues en el evento de presionar boton, si lo enciende haces que se agregue el registro, si lo apaga haces que se elimine. Como estos son comandos de Batch no habr? problema si no existe el registro o si ya existe...

[gml]

ini_open("Configuracion.ini")
if show_question("?Deseas encenderlo?") = 1
{
ini_write_real("Configuracion","Tiene",1);
execute_shell("reg"," add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v nombre_de_la_entrada /d 'c:\hubicaci?n\del\programa.exe'");
break;
}
else
{
ini_write_real("Configuracion","Tiene",0);
execute_shell("reg"," delete HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /v nombre_de_la_entrada /f");
break;
}
ini_close()

[/gml]

Creo que as? iria todo perfecto :P

#9 Octubre 25, 2011, 03:33:15 PM Ultima modificación: Octubre 25, 2011, 05:36:41 PM por MaanuRP
2 preguntas:

1) Porque usas "break;" en un "if"?

2) No se bien que partes del codigo que me diste debo cambiar para su correcto funcionamiento. Me podrias hacer un ejemplo para que estes seguro que funciona? Porque hice algo y me empezaron a salir un monton de "cmd"s xD

El break tu lo pusiste, yo solo respect? tu c?digo  :P

Y eso va en el evento de presionar boton derecho, solo le agregu? esas 2 l?nas... mira, el editable te lo adjunto

#11 Octubre 26, 2011, 02:28:46 AM Ultima modificación: Octubre 26, 2011, 02:34:46 AM por MaanuRP
Ah, ya recorde, es que primero le quise meter un estado medio, ni prendido ni apagado para cuando daba error, entonces usaba switch xD

Perdon xD

Pruebo y edito :D




Todavia no me dijiste cuales son los parametros que debo cambiar y por cuales los debo cambiar!

Sino no lo puedo probar :/ (No quiero cambiar algo que quizas me mande una cagada xD)


Hay una solucion facil, mete el juego en la carpeta inicio

CitarInicio > Todos los programas > Inicio

Pero para apretar un boton en el juego y se active, no se

A esto lo use para que se autoejecute un dock que descargue
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


#14 Noviembre 15, 2011, 05:37:49 PM Ultima modificación: Noviembre 15, 2011, 05:42:58 PM por Wadk
No uses execute_shell, el GM tiene funciones espec?ficas para trabajar con el registro.
http://www.comunidadgm.org/manual_GM/Registro_GML.htm

Si no me equivoco ser?a algo as?:
[gml]registry_set_root(0);  // Solo para el usuario actual.
registry_set_root(1);  // Para todos los usuarios del SO.
registry_write_string_ext("\Software\Microsoft\Windows\CurrentVersion\Run", "nombre_de_la_entrada", parameter_string(0));[/gml]
Ten?s que borrar una de las primeras dos l?neas seg?n como quieras que funcione.
Vim.