Comment faire démarrer un exe au démarrage de Windows [dupliquer]
possibilité de dupliquer:
comment mettre le fichier exe dans le démarrage de windows
supposons que j'ai construit une application en C#, Une fois que je l'installe, je veux qu'elle tourne en arrière-plan chaque fois que windows démarre,ou vous pouvez dire qu'un utilisateur se connecte à son compte windows. Est-il possible que je peux le faire? Sauf écrire un service windows?
la demande montre essentiellement des messages quand un certain événement est déclenché Merci
9 réponses
ajouter au raccourci vers le dossier de démarrage de Windows:
Environment.GetFolderPath(Environment.SpecialFolder.Startup)
ou ajouter au registre, quelque chose comme ceci:
RegistryKey add = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
add.SetValue("Your App Name", "\"" + Application.ExecutablePath.ToString() + "\"");
vous pouvez changer CurrentUser en LocalMachine si vous voulez qu'il tourne avec chaque utilisateur. Merci à Aidiakapi.
Cela peut être fait en utilisant le registre de windows. Je vous recommandons de vérifier cette clés de registre.
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
vous pouvez ajouter votre application au Registre pour exécuter au démarrage à
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
ou
HKEY_CURREN_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
ou vous pouvez l'ajouter au dossier de démarrage du système.
ce sont probablement les options les plus courantes/faciles si vous ne voulez pas écrire un service.
vous devez configurer une nouvelle clé dans le registre pointant vers votre exécutable.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
pour plus d'information sur ce lien http://msdn.microsoft.com/en-us/library/aa376977 (v=vs 85).aspx
la façon la plus facile est de le mettre ou un raccourci pour lui dans %userprofile%\Start Menu\Programs\Startupdirectory
ou %allusersprofile%\Start Menu\Programs\Startup
les clés de registre HKLM\Software\Microsoft\Windows\CurrentVersion\Run
(tous les utilisateurs) et HKCU\Software\Microsoft\Windows\CurrentVersion\Run
(utilisateur courant seulement) serviront également.
Installation en tant que service est souvent une bonne approche, mais pas si vous allez être interactif comme vous le dites.
vous pouvez mettre un raccourci à l'application dans C:\Users\@username@\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
.
utilisez-vous Visual Studio Setup Project? Si oui, vous pouvez définir le raccourci directement à partir de là.
Eh bien, on dirait vraiment que vous devriez utiliser un"service windows".
il y a d'autres options comme inclure un raccourci vers L'EXE dans le dossier" Démarrage"dans le Menu Programmes ("tous les utilisateurs" si vous voulez qu'il s'exécute pour tous les utilisateurs sur ce système).
une Autre option serait d'utiliser le registre de windows. Vous pouvez ajouter une entrée à "exécuter" qui pointe vers l'exe:
* HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
* HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
* HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
* HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
puisque personne d'autre ne l'a mentionné, je vous ferai remarquer que vous pouvez également atteindre cet objectif en utilisant une tâche programmée dont le déclencheur est "au démarrage du système". Cependant, je n'ai pas essayé cela avec une application qui nécessite une interaction avec L'interface utilisateur - cela fonctionne pour un processus de fond, mais je soupçonne que cela ne fonctionnerait pas avec quelque chose qui nécessite un contexte de bureau (puisqu'il n'y en a pas tant qu'un utilisateur ne se connecte pas).
vous pouvez écrire le Path
à l'exécutable dans le Registry
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
et il sera exécuté chaque fois que vous démarrez windows.