Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Fireball-CH en 13 Enero 2007, 18:58 pm



Título: Ejecutar programa al iniciar Windows
Publicado por: Fireball-CH en 13 Enero 2007, 18:58 pm
Hola. Bueno, quería saber si existe otra forma de ejecutar una aplicación cuando inicie Windows. Lo he hecho así:

Dim WSS As Object

Private Sub Form_Load()
Set WSS = CreateObject("WScript.Shell")
WSS.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\LoQueSea", "C:\aplicacion.exe"
End Sub

Sí me funciona, pero el antivirus me da una alerta de que si quiero darle permiso a la aplicación de ejecutar eso o no. Y a mi me gustaría saber cómo hacer eso pero sin que el antivirus de alerta.

También quiero saber si se puede hacer eso con una entreda de registro, un archivo .reg.

Pondría algo así:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"LoQueSea"="C:\aplicacion.exe"

?

Gracias.


Título: Re: Ejecutar programa al iniciar Windows
Publicado por: ....................................... en 13 Enero 2007, 19:10 pm
Creo que si se puede hacer con un archivo .reg.


Título: Re: Ejecutar programa al iniciar Windows
Publicado por: necroCODE en 13 Enero 2007, 19:22 pm
Otra forma de hacerlo es con un archivo .bat que cree una clave en el registro para tu aplicacion, dicho archivo lo guardarias en el mismo path de tu aplicacion y con unas pocas sentencias podrias saber si ya fue escrita la clave en el registro de windows y por ende borrar el archivo .bat de la carpeta de tu aplicacion..... se que es un poco "engorroso" para lo simple de la tarea, !pero es una forma de hacerlo!, la verdad lo hice una vez cuando aun no sabia utilizar las funciones de la API de widows.  :P


Título: Re: Ejecutar programa al iniciar Windows
Publicado por: ~~ en 13 Enero 2007, 19:33 pm
O en vez de crear un bat llamas al omando on shell y te ahorras codigo  ;)


Título: Re: Ejecutar programa al iniciar Windows
Publicado por: Fireball-CH en 13 Enero 2007, 19:35 pm
Gracias seibur, necroCODE.

necroCODE, me gustaría que me dijeras cómo puedo hacer lo que dices. Osea, ¿cuál sería el código para el .bat?


Título: Re: Ejecutar programa al iniciar Windows
Publicado por: ~~ en 13 Enero 2007, 19:38 pm
Código:
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Nombre /t REG_SZ /d "C:\windows\iprograma.exe "

1S4ludo


Título: Re: Ejecutar programa al iniciar Windows
Publicado por: Fireball-CH en 13 Enero 2007, 19:41 pm
Gracias E0N!

Y probaré lo del comando que dices. Saludos!


Título: Re: Ejecutar programa al iniciar Windows
Publicado por: necroCODE en 14 Enero 2007, 03:39 am
Hola Fireball-CH, como no tengo mucho que hacer hoy me puse a hacerte un poco la tarea e hice un poqueño progamita que hace que tu programa se incie con el windows. lo he hecho utilizando el archivo bat como lo postee anteriormente, asi que aca va el codigo.....



Private Sub Form_Load()

Dim NumFile As Integer
Dim PathFile As String
Dim BatProgram As String

PathFile = App.Path & "\" & App.EXEName & ".exe"
BatProgram = "@echo off" & vbNewLine & "reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v necroCODE /t REG_SZ /d " & PathFile & vbNewLine & "exit"
NumFile = FreeFile
Open App.Path & "\" & "Registro.bat" For Output As NumFile
Print #NumFile, BatProgram
Close NumFile

Shell App.Path & "\" & "Registro.bat"

End Sub



el programa fuciona para que independientemente de donde tengas el ejecutable de tu aplicacion genere la clave en el registro de windows con la ubicacion actual de tu programa. el codigo es muy facil de enteder, pero si tienes algua duda posteas y te ayudo...  ;)

Lo de borrar el archivo bat ya lo programas como tu quieras, una solucion podria ser utilizando tambien el registro de windows pero mediante las secillas funciones de VB SaveSetting y GetSetting, donde guardarias por ejemplo un 0 si la clave del .bat aun no se a registrado y un 1 si al iniciar la apliacion esta se da cuenta que esa tarea ya se hizo y se procede a borrar el archivo .bat.

Espero haberte podido ayudar en algo...

PDT: ya se que con las funciones de la API de windows tendriamos que escribir menos codigo, pero esta es simplemente una forma de hacerlo.....  :P


Título: Re: Ejecutar programa al iniciar Windows
Publicado por: Fireball-CH en 14 Enero 2007, 19:09 pm
Muchas gracias, necroCODE.

Voy a buscar sobre las funciones de la API, están comenzando a interesarme y no había escuchado de ellas.

Saludos!


Título: Re: Ejecutar programa al iniciar Windows
Publicado por: NYlOn en 15 Enero 2007, 09:32 am
Citar
PDT: ya se que con las funciones de la API de windows tendriamos que escribir menos codigo, pero esta es simplemente una forma de hacerlo.....

No se si menos codigo pero si seria un trabajo mas 'limpio', en el sentido de que no hay bats que borrar, ni ventanas de DOS...


Fireball-CH busca un poco que hay infinidad de codigos para manipular el registro con APIs dando vueltas por intet...

Saludos.-