2010-07-22 4 views
3

J'ai créé une application en utilisant C# 3.0.J'ai besoin de cette application pour démarrer et exécuter en permanence à chaque démarrage de Windows. Après la configuration et l'installation de l'application, ce processus devrait se produire. S'il vous plaît donner vos suggestions pour ce faire.Comment faire pour que notre formulaire (application) commence à s'exécuter lorsque Windows démarre en C#?

+1

Est -il une application de formulaire avec une interface utilisateur ou un service? –

+0

Qu'est-ce que vous utilisez pour écrire votre installateur? Créez-vous des raccourcis lors de l'installation? – fletcher

+0

c'est une application de formulaire avec l'interface utilisateur – Abilash

Répondre

3

Lorsque vous créez votre projet de configuration, ajoutez simplement un raccourci vers la sortie du programme principal vers le dossier de démarrage du PC de destination.

+0

Comment créer un raccourci de notre application pour le dossier de démarrage du PC à l'aide du projet d'installation et de déploiement de Visual Studio? – Abilash

+0

Cliquez avec le bouton droit de la souris sur le projet de configuration, sélectionnez Afficher le système de fichiers et vous devriez avoir une vue du système de fichiers de destination. Sur le côté gauche vous avez "Système de fichiers sur la machine cible", faites un clic droit là-bas et sélectionnez "Ajouter dossier spécial" -> "Dossier de démarrage" –

+0

Merci pm_2, cela a résolu mon problème – Abilash

3

Faites-en un service Windows et démarrez-le automatiquement. Ou, si vous ne vous souciez que lorsque les utilisateurs sont connectés, placez-les dans le dossier de démarrage partagé afin qu'il démarre pour chaque utilisateur. Qu'en est-il de l'ajout du programme au dossier de démarrage dans l'installation?

4

Si vous avez besoin d'une application pour démarrer lorsque Windows démarre et s'exécute en permanence, il doit s'agir d'un service Windows. Vous ne pourrez pas avoir une interface utilisateur graphique et Windows dans le cadre de la même application/du même projet, vous devrez l'écrire séparément et communiquer avec le service.

Si vous voulez qu'il fonctionne continuellement et ne s'arrête pas, une simple application Windows Forms ne le fera pas: l'utilisateur peut le fermer, bien sûr. Ils peuvent également fermer un service mais vous pouvez le configurer (dans l'onglet Récupération) pour le redémarrer en cas d'échec (il est supprimé dans le Gestionnaire des tâches). Ils peuvent toujours arrêter le service manuellement, mais pas aussi facilement.

C'est un modèle de projet intégré dans Visual Studio. En fonction de ce que fait votre application, il est généralement préférable de créer une instance d'un objet Thread et de placer votre logique dans une sorte de boucle exécutée sur le nouveau thread. À partir des méthodes OnStart et OnStop du fil Service lui-même, vous pouvez créer le fil, ou le signaler pour arrêter (ou simplement Abort il). En cliquant avec le bouton droit sur le service dans le concepteur, vous pouvez ajouter un programme d'installation, ce qui signifie que si vous exécutez installutil avec le nom de l'application, le service sera installé et, si vous définissez les bonnes propriétés sur le Service et programme d'installation, exécutez automatiquement.

En termes de si vous avez besoin d'une interface utilisateur - vous devez trouver un moyen de l'interface utilisateur pour parler au service; vous pouvez utiliser des canaux nommés, des fichiers mappés en mémoire, ou vous pouvez utiliser WCF (.NET 3.5+) avec le fournisseur nommé Pipes/TCP et appeler directement à l'intérieur.

Pour référence:

http://msdn.microsoft.com/en-us/library/aa984464(VS.71).aspx

espoir qui aide.

+0

Je ne sais rien à propos de Windows Service .. comment puis-je faire mon application d'interface utilisateur au démarrage.can vous s'il vous plaît écrire le code .. – Abilash

+2

Ouais c'mon Kieren, écrivez son code pour lui :) – AndrewS

+0

@Abilash: Moi non plus , mais en tant que programmeur, vous êtes censé apprendre de nouvelles choses :) Essayez: http://www.google.com/search?q=learn+Windows+Service+c%23 –

0

Quelle application d'installation utilisez-vous? Souvent, ils ont des fonctions pour cela intégré.

Si vous voulez le faire dans votre code C#, vous devrez modifier dans le registre. Read this article. (Je suppose que vous avez aussi besoin de droits d'administrateur dans le manifest de le faire)

+0

Projet d'installation et de déploiement Visual Studio – Abilash

-1

Utilisation WindowService dans ce OnStart() {......} vous écrire du code pour démarrer votre application

+0

Vous ne devez pas * mettre * tout votre code dans OnStart. La méthode 'OnStart' devrait démarrer le service puis retourner. –

Questions connexes