Lancement d'application au démarrage de Windows

Résolu
Manu94600 Messages postés 107 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 20 février 2008 - 21 mars 2006 à 11:11
cs_coye Messages postés 18 Date d'inscription vendredi 30 mai 2003 Statut Membre Dernière intervention 18 avril 2009 - 17 avril 2009 à 17:35
Bonjour à tous,

Je voudrais savoir comment on lance une application C# au démmarage de Windows.
Je n'ai pour l'instant trouver aucunes pistes et je me tourne une fois de plus vers vous amis développeur ;).

@+

Manu

13 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
21 mars 2006 à 14:26
hum... je crois que je suis allé un peu vite... il me semblait qu'il y avait une propriété en 2.0 qui permet de n'avoir qu'une seule instance.

La solution qui marche bien :

if (Process.GetProcessesByName(Process.GetCurrentProcess.Name).Length > 1) {
' l'application est déjà lancée
}


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
21 mars 2006 à 11:24
2 solutions :

Soit tu la lances pour tous les utilisateurs :

HKLM/Software/Microsoft/Windows/CurrentVersion/Run, tu ajoutes ton application ici

Soit uniquement pour un profil :
HKCU/Software/Microsoft/Windows/CurrentVersion/Run, tu ajoutes ton appli ici


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
2
Manu94600 Messages postés 107 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 20 février 2008
21 mars 2006 à 11:33
Et maitenant dans le code ça se traduit comment ??
Comment on place l'application dans le registre ?? Et surtout comment via l'application on peut désactiver aussi le lancement automatique ?

Manu
0
Manu94600 Messages postés 107 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 20 février 2008
21 mars 2006 à 13:38
Merci pour toutes ces infos ;).

Tu pourrais peut être m'aider :) encore un peu.
Je voudrais maintenant savoir comment faire pour détecter si l'application est en cours d'exécution. Dans le but d'empécher l'user à lancer une nouvelle application.

Merci encore une fois

Manu
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
21 mars 2006 à 14:15
en .net 1.1 ou en .net 2.0 ?


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
0
Manu94600 Messages postés 107 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 20 février 2008
21 mars 2006 à 14:19
Ya beaucoup de différence ??

Si tu as les deux solutions tu peux me le faire part stp. Je suis en pleine migration :) dans mon apprentissage.
Mais pour l'application en question elle est en .net 2.0.

Manu
0
Manu94600 Messages postés 107 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 20 février 2008
21 mars 2006 à 14:42
Merci pour ton aide.

Pour ta dernière réponse il y a juste une petite faute si je peux me le permettre. Mais je sais pas si c'est parce que mon appli est en .NET 2.0 ou pas, mais le test est :

if ((
Process.GetProcessesByName(
Process.GetCurrentProcess().ProcessName.ToString())).Length > 1)

@+ Et merci encore pour ton aide ;)

Manu
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
21 mars 2006 à 14:54
j'ai fait ca de tête... c'est donc possible qu'une erreur se soit glissée. merci pour la correction ;)


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
0
Manu94600 Messages postés 107 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 20 février 2008
21 mars 2006 à 15:24
Une dernière question :).

Je voudrais savoir si une form est déjà affichée ??

Genre j'ai une première form (form_principal). Dans cette form j'ai un bouton option. Quand je clique sur le bouton, je voudrais afficher la form_option.

Pour cela je mets dans l'évènement click du bouton :
form_option f = new form_option();
f.Show();

Mais le Problème c'est que si je click une deuxieme fois j'aurai une autre fenetre option, et une troisième si je click une 3ème fois. Et ainsi de suite.

Donc je voudrais savoir s'il y avait un moyen de détecter une form active ou pas.

Manu
0
Manu94600 Messages postés 107 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 20 février 2008
21 mars 2006 à 15:39
Parfait ;).

Merci pour tout ton aide.

Manu
0
cs_coye Messages postés 18 Date d'inscription vendredi 30 mai 2003 Statut Membre Dernière intervention 18 avril 2009
17 avril 2009 à 17:35
bonjour,
j'aimerais savoir si avec le projet de deploiment de visual studio il est possible de rajouter mon programme dans cette clé du registre ?
HKCU/Software/Microsoft/Windows/CurrentVersion/Run
et si ou et bien comment  acr il n'y a que manufacturer dedans .

coye
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
21 mars 2006 à 12:05
va faire un tour du coté de la classe Registry du namespace Microsoft.Win32


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
-3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
21 mars 2006 à 15:32
moi, je fais comme ceci :

private form_option fOption = null;

et dans le click du bouton :

if (fOption == null) {
fOption = new form_option();
fOption.Closed += new EventHandler(fOption_Closed);
fOption.Show();
}

et j'ajoute :
protected void fOption_Closed(object sender, EventArgs e) {
fOption = null;
}


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
-3
Rejoignez-nous