2010-07-02 9 views
5

Me gustaría agregar una opción a mi aplicación similar a la opción de Skype "ejecutar Skype cuando mi computadora se inicie".Delphi: ¿Cómo crear una aplicación de inicio automático de Windows como lo hace Skype?

Skype no va en las "aplicaciones de inicio automático" de la carpeta del menú de inicio, me gustaría tener el mismo efecto.

Nota, una respuesta a this question suggets para agregar una clave aquí:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 

pero checekd en mi máquina y Skype no está allí, por lo que se utiliza de otra manera.

Respuesta

11

Skype instala a través de una entrada de registro, pero está en HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE no

Esto permite que Skype para ser instalado o no en función de cada usuario. Usando HKLM se iniciará automáticamente para TODOS los usuarios.

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 
1

Ver esto question. La pregunta es sobre C#, pero solo implica escribir un valor de registro. Será fácil convertirlo para Delphi.

+0

he comprobado: la primera respuesta (el aprobaron uno) sólo sas añadir un enlace en las aplicaciones de inicio automático del menú de inicio, así que esto no es lo que quiero lograr. El segundo es más interesante, pero checekd y Skype no están en la clave de registro HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Ejecutar de mi máquina, por lo que se ha utilizado algo más. Actualizaré mi pregunta agregando esta información. Gracias. – LaBracca

3

Si escribe "msconfig" en la ventana de ejecución y mira la pestaña de inicio, puede ver dónde comienza "everthing" en la columna Ubicación. No usar Skype, pero creo que ha Está en el Registro en

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

Sólo tiene que añadir una entrada de registro para su aplicación en allí (y eliminarlo si el usuario unticks la caja)

puede usar la clase TRegistry para ayudarlo a leer y escribir en el registro.

+0

Gracias por las sugerencias msconfig. sí, skype ¿Existe alguna razón por la que no lo haya encontrado? Es que está definido a nivel de usuario no a nivel de sistema: HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run – LaBracca

0

Sólo tiene que ejecutar msconfig y seleccione inicio pestaña. Verá las aplicaciones junto con la clave de registro utilizada.

Curiosamente, cuando ejecuto regedit sin elevación no veo el valor HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run \ Skype también. Pero si lo ejecuto elevado, entonces el valor está allí (supongo que Windows está jugando a la redirección del registro).

Mejor

Cuestiones relacionadas