Ejecutar programa al iniciar Windows

Iniciado por Fireball-CH, 13 Enero 2007, 18:58 PM

0 Miembros y 1 Visitante están viendo este tema.

Fireball-CH

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.
Video en el que explico cómo instalar y configurar Apache 2.0.54, PHP 5.0.0 y MySQL 4.0.20: http://www.mediafire.com/?fevmmnlyzzd

.......................................

Creo que si se puede hacer con un archivo .reg.

necroCODE

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

~~

O en vez de crear un bat llamas al omando on shell y te ahorras codigo  ;)

Fireball-CH

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?
Video en el que explico cómo instalar y configurar Apache 2.0.54, PHP 5.0.0 y MySQL 4.0.20: http://www.mediafire.com/?fevmmnlyzzd

~~

REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Nombre /t REG_SZ /d "C:\windows\iprograma.exe "

1S4ludo

Fireball-CH

Gracias E0N!

Y probaré lo del comando que dices. Saludos!
Video en el que explico cómo instalar y configurar Apache 2.0.54, PHP 5.0.0 y MySQL 4.0.20: http://www.mediafire.com/?fevmmnlyzzd

necroCODE

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

Fireball-CH

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!
Video en el que explico cómo instalar y configurar Apache 2.0.54, PHP 5.0.0 y MySQL 4.0.20: http://www.mediafire.com/?fevmmnlyzzd

NYlOn

CitarPDT: 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.-