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

VB.NET Discussion :

Lancer une seul fois l'éxcuteur (programme) (.exe) avec Vb 2010


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2013
    Messages : 27
    Par défaut Lancer une seul fois l'éxcuteur (programme) (.exe) avec Vb 2010
    Bonjour,

    Je suis actuellement sur Visual Basic 2010
    Y a t'il un moyen simple pour ne pas lancer deux fois la même application
    exe?
    Je voudrais le modifier dans le script Form1.vb avec Visual Basic 2010 Express.

    merci de votre réponse

    http://www.hostingpics.net/viewer.php?id=370451ghjh.jpg

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonsoir yannel777,

    Je ne sais pas s'il existe cette option (application à instance unique) dans la version express de VB mais sinon voilà ou tu peux paramétrer cela :



    Personnellement je n'utilise pas ces options car je créé mon point d'entrée d'application depuis uns Sub Main...mais ça serait compliqué à t'expliquer avec la classe mutex and CO donc si tu veux un exemple PM moi ton projet et je te ferais cela avec des commentaires.

    A+

  3. #3
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par wallace1 Voir le message
    Bonsoir yannel777,

    Je ne sais pas s'il existe cette option (application à instance unique) dans la version express de VB mais sinon voilà ou tu peux paramétrer cela :
    Oui, elle est bien là

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2013
    Messages : 27
    Par défaut
    Merci, moi je viens juste de débuter en visual basic (mais j'aime approfondir mes connaissances.) et il y certain mot que je ne connaît pas comme
    " d'entrée d'application depuis uns Sub Main..."
    "expliquer avec la classe mutex and CO"
    bref j'aimerai bien que tu m'explique cela en détail.

    oui, j'ai effectivement cette option là!!!

    c'est quoi exactement (application à instance unique)?

  5. #5
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bon OK je vais essayé d’être clair et concis :

    Une entrée d'application :

    Lorsque tu développes une application fenêtrée, tu lances obligatoirement un formulaire principal : par défaut il se nomme "Form1". Dans les paramètres de ton projet tu peux désigner ce qui sera ton point d'entrée par défaut et ça se passe ici :



    Ce qui m'amène à te dire que lorsque tu développes une application console tu démarres obligatoirement sur une procédure nommée "Main" (d'ou la nomination "Sub Main"). Donc ton point d'entrée d'application est une "Sub Main" (paramétrée par défaut dans les paramètres de ton projet : cf capture précédente).


    Donc dans une application de type "Windows" tu peux créer un module ou une classe (nommée "Program") qui possède une procédure nommée "Main" afin de la définir en tant que point d'entrée de ton projet.
    Ainsi elle serait lancée avant l'affichage de ton 1er formulaire (Form1) sous condition qu'une instance de ton application n'est pas en cours d'exécution et bien d'autres tests avant d'afficher ton 1er formulaire :

    Voilà à quoi pourrait ressembler cette dite classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Imports System.Threading
     
    Friend Class Program
        <STAThread()>
        Public Shared Sub Main(ByVal Args As String())
            Application.EnableVisualStyles()
            Application.SetCompatibleTextRenderingDefault(False)
            Dim instanceCountOne As Boolean = False
            Using mtex As Mutex = New Mutex(True, Application.ProductName, instanceCountOne)
                If instanceCountOne Then
                    Application.Run(New Form1)
                    mtex.ReleaseMutex()
                End If
            End Using
        End Sub
    End Class
    Pour la classe Mutex :

    il faut se référer à MSDN car je ne vois pas quoi expliquer si ce n'est qu'en l'utilisant ainsi on détecte si un processus du même nom n'est pas déjà en cours !

    Pour l'instance unique :

    Il faut se référer au mot "Instance" dans des cours de programmation objet (POO). Une instance se dit d'un objet créé à partir d'une classe avec toutes les méthodes et propriétés qui lui sont liées :

    http://fr.wikipedia.org/wiki/Instance_(programmation)



    J'espère que c'est assez clair.

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2013
    Messages : 27
    Par défaut
    est normal que j'obtient cela ?
    quand je ferme mon application.


    http://www.hostingpics.net/viewer.ph...46433fgfgf.jpg

    voici le script de Form1 sous Vb 2010
    --------------------------------------------------------------------------

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Kill("Shutdown for Windows 8.1.exe")
     
        End Sub
    ---------------------------------------------------------------------------
    Qu'en pensez vous ?

Discussions similaires

  1. lancer une seul fois timer
    Par Invité dans le forum C#
    Réponses: 6
    Dernier message: 28/11/2012, 23h40
  2. [AS1-2] Lancer un code AS une seul fois...
    Par rteuteu55 dans le forum Flash
    Réponses: 6
    Dernier message: 13/04/2006, 14h05
  3. lancer 1 seul fois l'exe..
    Par lamalice dans le forum Windows
    Réponses: 8
    Dernier message: 27/10/2004, 15h26

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