2009-02-24 9 views
0

J'ai mon programme C# à exécuter lorsque Windows démarre en l'ajoutant au Registre Windows. Il fonctionne très bien, mais voici mon problème ...Programme C# Win-démarrage de la barre d'état système

Je veux que le programme démarre dans la zone de notification, mais seulement quand il est lancé automatiquement par Windows. Si l'utilisateur clique deux fois sur le programme depuis le bureau, je ne veux pas que le programme démarre dans la barre d'état système. En ce moment, je peux l'avoir toujours ouvert en mode fenêtre normale ou toujours ouvert dans la barre d'état système.

Y at-il de toute façon de déterminer peut-être si mon programme a été lancé par le démarrage de Windows? Ou existe-t-il une alternative à ce problème?

Merci!

Répondre

5

Ajoutez un argument au démarrage du registre. Vous pouvez certainement le faire avec un script batch, ou peut-être directement dans le registre.

Vous verrez le paramètre dans l'argument de votre fonction principale statique, et peut agir en conséquence.

5

Je suggère d'utiliser des arguments de ligne de commande. Si l'utilisateur clique deux fois sur une icône, le programme devrait commencer par quelque chose comme ceci: myProgram.exe/i et s'il démarre avec Windows, il devrait démarrer quelque chose comme myProgram.exe/w.

Vous pouvez analyser les arguments de ligne de commande dans le principal de votre programme. Voir ici:

http://www.c-sharpcorner.com/UploadFile/mahesh/CmdLineArgs03212006232449PM/CmdLineArgs.aspx

+0

Alors, mes seules deux options sont par l'utilisateur ou les fenêtres, donc je ne peux cacher ma forme sinon par l'utilisateur. Maintenant, comment je passe une chaîne, disons "utilisateur" dans un fichier exe pour quand il est double-cliqué ... –

+0

Tout ce qui peut être passé en tant qu'args de ligne de commande. Par exemple, si c'était la ligne de commande arg:/u = "foo"/i = "bar", alors le tableau args passé en main contiendrait deux éléments. [0] = "/ u = foo", [1] = "/ i = bar". Vous pouvez écrire vos propres méthodes d'analyse simples pour analyser ce dont vous avez besoin. – BFree

+0

Merci pour toute votre aide, je l'apprécie ... Je comprends comment analyser les arguments dans mon code. Maintenant, je ne comprends pas comment les arguments sont passés dans le code. Il s'agit d'un programme consommateur, je voudrais qu'ils double-cliquent sur l'icône, et cela fonctionne ... pas msss avec la ligne de commande –

Questions connexes