IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez .NET Discussion :

Application à instance unique en C#


Sujet :

Contribuez .NET

  1. #1
    Invité
    Invité(e)
    Par défaut Application à instance unique en C#
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Application à instance unique en C#

    Les utilisateurs de VB.NET peuvent faire des applications Windows Forms avec une seule instance de l'application à la fois. Pour cela, dans leur propriété de projet sous l'onglet "Application", il leur suffit juste de cocher la case "Application à instance unique" dans le groupe "Propriétés de l'infrastructure d'application Windows" et le tour est joué.

    Après, vous allez me dire qu'on peut toujours faire cela à l'aide d'un Mutex... mais avec une telle solution, on ne peut pas gérer la couche supplémentaire qui permet, dans le cas où l'on clique à nouveau sur l'exécutable, d'exécuter un code dans l'application déjà lancée comme par exemple restaurer la fenêtre principale de l'application déjà lancée à l'écran. Les utilisateurs de VB.NET peuvent faire cela aussi avec Windows Forms (mais uniquement Windows Forms d'ailleurs).

    Pour cela, ils cliquent sur le bouton "Afficher les événements de l'application" et dans la classe générée, ils s'abonnent à l'événement "StartupNextInstance".



    Les utilisateurs de C# n'ont pas ce privilège... A priori!



    Je vais vous montrer le code qui vous permettra d'avoir accès aux mêmes privilèges en C#!



    Ci-joint, une solution qui contient un exemple écrit en C# pour Windows Forms et même un exemple pour WPF!



    Tout d'abord, il vous faut inclure la référence d'assembly "Microsoft.VisualBasic".



    Ensuite, il faut, dans la propriété du projet, changer l'objet de démarrage.



    Il y a une classe à dériver dans tous les cas : c'est "Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase". Dedans, j'y ai mis ma fonction Main.



    Pour le reste des détails, je vous laisse regarder le code source.



    Bonne lecture à vous!
    Dernière modification par Invité ; 28/03/2014 à 14h15.

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/06/2009, 23h55
  2. Instance unique d'une application portable
    Par shenron666 dans le forum C++
    Réponses: 13
    Dernier message: 21/12/2008, 11h20
  3. application à instance unique et plantage
    Par gigiskhan dans le forum Windows Forms
    Réponses: 1
    Dernier message: 18/04/2007, 23h34
  4. [VB.net] [WinCE4.2] - Instance unique d'application
    Par WriteLN dans le forum Windows Mobile
    Réponses: 4
    Dernier message: 05/02/2007, 10h22
  5. [VB] Instance unique d'une application
    Par Mimoza dans le forum Windows Forms
    Réponses: 8
    Dernier message: 19/06/2006, 17h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo