2010-07-02 4 views
5

Je voudrais ajouter une option à mon application similaire à l'option Skype "exécuter Skype lorsque mon ordinateur démarre". Skype ne va pas sur les "applications de démarrage automatique" du dossier du menu Démarrer, je voudrais avoir le même effet.Delphi: Comment créer une application de démarrage automatique Windows comme le fait Skype?

Remarque, une réponse à this question suggets ajouter une clé ici:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 

mais je checekd sur ma machine et Skype est pas là, une autre façon est utilisé.

Répondre

11

Skype installe via une entrée de registre, mais il est dans HKEY_CURRENT_USER, pas HKEY_LOCAL_MACHINE

Cela permet à Skype à installer ou non sur une base par utilisateur. L'utilisation de HKLM démarre automatiquement pour TOUS les utilisateurs.

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

Voir ceci question. La question concerne C#, mais elle implique seulement l'écriture d'une valeur de registre. Il sera facile de le convertir pour Delphi.

+0

Je l'ai vérifié: la première réponse (l'a approuvé un) seulement sas pour ajouter un lien dans les applications de démarrage automatique du menu de démarrage, donc ce n'est pas ce que je veux atteindre. La seconde est plus intéressante mais je checekd et Skype n'est pas dans la clé de registre HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Exécution de ma machine, donc quelque chose d'autre est utilisé. Je vais mettre à jour ma question en ajoutant cette information. Merci. – LaBracca

3

Si vous tapez "msconfig" dans la fenêtre d'exécution et regardez l'onglet de démarrage, vous pouvez voir d'où "everthing" commence dans la colonne Emplacement. Je n'utilise skype mais je pense serait-il est dans le registre dans

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

Vous avez juste besoin d'ajouter une entrée de Registre pour votre application là-dedans (et le supprimer si l'utilisateur décoche la case)

Vous pouvez utiliser la classe TRegistry pour vous aider à lire et à écrire dans le registre.

+0

Merci pour les suggestions msconfig. oui, skype est là la raison pour laquelle je ne fondais pas c'est qu'il est défini au niveau de l'utilisateur pas au niveau du système: HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run – LaBracca

0

Il suffit de lancer msconfig et sélectionnez onglet démarrage. Vous verrez les applications à côté de la clé de registre utilisée.

Bizarrement, lorsque je cours regedit sans élévation ne voit pas la valeur HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run \ Skype aussi. Mais si je l'exécute élevé alors la valeur est là (je devine que Windows joue la redirection de registre).

Meilleur

Questions connexes