begin process at 2010 02 09 23:21:18
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VB.NET

 > EMPÊCHER D'OUVRIR PLUSIEUR FOIS UN PROGRAMME EN VB NET

EMPÊCHER D'OUVRIR PLUSIEUR FOIS UN PROGRAMME EN VB NET


 Information sur la source

Note :
6,83 / 10 - par 6 personnes
6,83 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :VB.NET Source .NET ( DotNet ) Niveau :Débutant Date de création :26/04/2005 Vu :6 827

Auteur : julien__

Ecrire un message privé
Commentaire sur cette source (25)
Ajouter un commentaire et/ou une note

 Description

C'était simple en VB5 ou 6 je n'ai pas trouvé sur ce site comment le faire en vb .net, voilà! (source n'est pas de moi, mais absente de ce site,alors je l'ajoute)

Source

  • If (UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0) = True Then
  • MsgBox("Application deja ouverte !")
  • End
  • End If
If (UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0) = True Then
            MsgBox("Application deja ouverte !")
            End
        End If



 Sources du même auteur

Source avec Zip Source .NET (Dotnet) URL ACTIVE DANS INTERNET EXPLORER EN VB NET

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) INSERER TOUT TYPE DE FICHIERS DANS ORACLE EN VB.NET par SKY32
Source avec Zip Source avec une capture Source .NET (Dotnet) ENVOYER DES EMAILS AVEC PIECES JOINTES EN EXÉCUTANT BLAT par mays
Source avec Zip Source avec une capture Source .NET (Dotnet) PILOTER DES AFFICHEURS 7 SEGMENTS À PARTIR DU PORT SÉRIE OU ... par mays
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLER LE WEBBROWSER ET IDENTIFIER LES LIENS PAR LEUR NUM... par george02
Source avec Zip Source .NET (Dotnet) LOGIN AVEC FICHIER XML par DanMor498

Commentaires et avis

Commentaire de OneHacker le 26/04/2005 22:43:30

Enfin voilà ce que je cherchais ! C'est pas trop tôt ! Car c'est embêtant d'ouvrir plusieurs fois le même logiciel ! Merci beaucoup ! Je t'ai mis 5/10. Mais je pense que j'aurai du mettre plus !

Commentaire de Saros le 27/04/2005 13:36:18

If (x > 0) = True Then
On peut pas mettre
If x > 0 Then
en VB.NET ? Pas pratique...

Commentaire de dragon le 28/04/2005 00:11:33

juste ça ça aurait été assez

If UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0 Then
            MsgBox("Application deja ouverte !", MsgBoxStyle.Critical, "Message à l'usager")
            End
        End If

Commentaire de OneHacker le 28/04/2005 23:51:23

Que signifie UBounds comme fonction ?!

Merci d'avance !

Commentaire de Saros le 29/04/2005 00:17:22

C'est l'indice du dernier élément d'un tableau de données

Commentaire de chris81 le 29/04/2005 11:46:08

code sympa MERCI

Commentaire de OneHacker le 01/05/2005 00:51:04

D'accord j'ai pigé donc si le Ubounds est supérieur à zero (un dans une collection) C'est que la même AppliY est plusieurs fois !

Merci !

C'est quoi l'inverse de ubounds pour avoir le premier element d'une collection ?!

Commentaire de julien__ le 01/05/2005 01:44:36

Eh bien le premier c'est LBound pour LowerBound et le dernier UBound pour UpperBound.

Commentaire de julien__ le 01/05/2005 01:48:13

C'est très partique pour les boucles For... Next, car si le For Each .... in ... est bien utile, lorsque tu as besoin de l'indice dans une boucle For Next et que tu ne connais pas la taille du tableau tu peux faire...
Dim i as Integer
Dim xxx(20) ' en admettant que tu ne connaisses pas 20
For i = 0 to xxx.GetUpperBound(0)

Next

Commentaire de OneHacker le 01/05/2005 09:40:18

En effet je comprend tout a fait ! La boucle !

Commentaire de GLLNS le 15/06/2005 12:22:04

Et si une autre app ayant le même ProcessName était déjà lancée?
Je pense que ton application ne va pas démarrer.

Commentaire de dragon le 15/06/2005 13:53:17

exact et il y a le bug où tu démarre une première instance, puis tu ouvre un autre logciel et après tu ouvres une 2e instance

le code regarde juste le dernier process. Par contre, c'est pas très dur a adapter

Commentaire de COlive le 05/08/2005 08:49:15

Perso moi j'utilise presque la même chose :

'Controle si une instance existe déjà
If Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName).Length > 1 Then
            MsgBox("Application déjà lancée !")
            End
End If

Et à part le cas ou un autre soft est le même nom de processus, j'ai pas de bug.

(En fait je compte les nombre d'élément du tableau de process ayant le nom du mien, si il y en a plus d'un j'interdit le lancement.)

Voilou.
Pour le cas ou on veuille controler ceci et enlever le bug des noms de process, on peut ajouter un comparatif de la taille des exe ou bien des versions (2 soft de meme nom de meme taille et de meme version devient tres rare..)

Commentaire de Cocalight le 09/09/2005 13:20:32

En  vb6 sa donne quoi ?

Commentaire de Saros le 10/09/2005 12:57:34

Un truc genre App.PrevInstance te compte le nombre d'application déjà ouvertes
Je me souviens plus exactement de l'orthographe...

Commentaire de imanoda le 07/10/2005 22:56:13

salut moi j'etulise vb6 et je fais la meme code pour eviter le lancement de mes applications plus qu'une foit et le code doit etre ajouter dans la section load du premier form charge dans la memoire et le code comme suit:

If App.PrevInstance Then
   msgbox " LE PROGRAMME EST DEJA OUVERTE "
   end
End If

Commentaire de montabone le 05/11/2005 20:54:01

Pas mal.  Je viens de le rajouter dans mon code

Commentaire de Radwane37 le 04/12/2006 11:37:44

Vraiment sympa le code, merci
Raxius

Commentaire de Radwane37 le 04/12/2006 11:38:55

dans quel cas on utilise la boucle for each in next i?
merci de repondre, je débute dans VB .net
Raxius

Commentaire de Saros le 04/12/2006 20:06:17

Plutôt que de faire tourner une boule sur des ensemble numérotés, on peut la faire exécuter des opérations sur les éléments d'une collection quelconque
Par exemple desfois on veut exécuter un code sur tous les contrôles d'un form, dans une boucle for each in VB se charge de le lancer une fois et une seule sur chaque contrôle... plus simple
T'as regardé dans la MSDN ?

Commentaire de Radwane37 le 05/12/2006 08:02:10

Ha ok, merci de l'info.
A propos du code au dessus, il ne marche pas tout le temps.
Je vais jeter un oeil dans msdn

Commentaire de spyback le 27/06/2007 09:02:21

pas mall merci les gars

Commentaire de binet1 le 17/11/2008 19:46:28

oui mais comment fait-on alors pour activer l'autre instance avec des paramètres?

Commentaire de Saros le 17/11/2008 20:56:23

J'ai pas bien compris la question.

Commentaire de binet1 le 18/11/2008 03:20:43

en fait pour avoir une seule instance et passer des paramètres quand on le relance avec paramètre, on peut utiliser "StartupnextInstance" de vb 2008 (c'est ce qui remplace "App.PrevInstance" de vb6). Pour l'activer suffit d'aller dans les propriétés du projet et de cocher la case "application à instance unique" puis cliquer sur le bouton "Afficher les événements de l'application" ainsi le fichier "applicationEvents.vb" est ajouté à l'explorateur de code. On y trouver la fonction pour le StartupNextInstance  et on peut y ajouter le code que l'on veut. Les paramètres sont passé dans le tableau défini à "Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventArgs" passé par valeur (par défaut e) soit e.CommandLine(0) où la position zéro contient le premier argument passé.
Ainsi on a qu'une instance de l'application et si on la relance il n'y a pas de nouvelle instance mais l'argument passé lors de la relance est passé au programme.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales