Verifier si le programme est lancé mais ... [Résolu]

Messages postés
1818
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
8 octobre 2018
- - Dernière réponse : chris37000
Messages postés
44
Date d'inscription
vendredi 22 décembre 2000
Dernière intervention
12 décembre 2017
- 12 déc. 2017 à 10:26
Bonjour;

Je cherche un moyen propre et rapide de verifier si mon programme est déjà en cours d'execution et selon le cas, soit donne le focus à l'execution déjà en cours soit la "tuer" pour continuer avec la nouvelle execution.

J'ai cherché sur le site une manière de faire mais rien n'est concluant. Ou ca ne marche carrement pas ou mon programme plante sans préavis.

Merci de m'aider :)

[PaTaTe]
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
218
Date d'inscription
dimanche 1 mai 2005
Dernière intervention
15 novembre 2009
3
Merci
Voilà je t'ai fait un petit exemple que j'ai testé et qui marche pour ma part. Ce code marche que si ton application et lancée a partir du même répertoire et aillant le même nom, après comme je sais pas exactement se qu'il te faut, tu peut l'adapter.

http://nezoserver.free.fr/ModBegin.zip

Pour faire fonctionner ce code, il te suffit d'ajouter le petit module dans ton projet est au chargement de ta form ou dans ton Sub Main, :

CheckBegin LE_NOM_DE_TA_FORM_A_DONNER_LE_FOCUS

Si c'est ta propre form : CheckBegin Me

Voilà dit moi si sa se rapproche au moin de se que tu voulais faire...

kakenette

Merci kakenette 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de kakenette
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Dernière intervention
15 novembre 2016
0
Merci
Salut,

Regarde cela : If App.PrevInstance = True Then End ' UnLoad Me

A+
Exploreur

 Linux a un noyau, Windows un pépin
Commenter la réponse de cs_Exploreur
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Dernière intervention
15 novembre 2016
0
Merci
Re,

Et cette source aussi....

A+
Exploreur

 Linux a un noyau, Windows un pépin
Commenter la réponse de cs_Exploreur
Messages postés
1818
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
8 octobre 2018
0
Merci
salut,

Merci mais ce n'est pas ce que je demande.

Ce code, je le connais (encore heureux d'ailleurs), moi je cherche une solution pour pouvoir garder la nouvelle execution en killant l'ancienne, avec App.PrevInstance c'est l'inverse.

Merci quand même

[PaTaTe]
Commenter la réponse de cs_PaTaTe
Messages postés
218
Date d'inscription
dimanche 1 mai 2005
Dernière intervention
15 novembre 2009
0
Merci
Ba c'est ( plus ou moins ) facile, tu as plusieurs méthode, et tu peux
également utiliser previnstance. Si tu veux garder la nouvelle exécuter est
terminé l’ancienne, il te suffit de ' kill ' l'ancienne processus en
l'identifiant. Personnellement je n'aime pas previnstance qui ne marche que si
l'application est lancée dans le même répertoire... Si ton processus à un nom
précis tu peux killer le processus en détectant sont Nom et ignorant le PID de
ta nouvelle application. tu peut également inscrire une information dans les
registres ou dans un fichier comme par exemple sont PID. Et au lancement ton programme
lit la donnée du PID pour kill l'ancienne application et ainsi de suite... et
pour le focus, il te faut utiliser les API Window. A++







Si tu t'y connaît pas trop dans le domaines des processus
mon message risque de te paraître un peux compliquer, fait le moi savoir et j'essayerai
si j’ai le temps de t'expliquer un peux mieux.





kakenette
Commenter la réponse de kakenette
Messages postés
1818
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
8 octobre 2018
0
Merci
Vu les pietres resultats que j'ai obtenus jusqu'à maintenant (en ayant le même cheminement d'idées), je ne serais pas contre un peu d'aide la dessus. Donc si ça ne te déranges pas, je suis preuneur :)

[PaTaTe]
Commenter la réponse de cs_PaTaTe
Messages postés
1818
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
8 octobre 2018
0
Merci
Ce code correspond à ce que je cherchais à faire et fonctionne très bien :)

Un grand merci à toi, tu m'a sorti d'un mauvais pas ^^

Je te renverrais l'assensseur quand tu aura besoin  lol

[PaTaTe]
chris37000
Messages postés
44
Date d'inscription
vendredi 22 décembre 2000
Dernière intervention
12 décembre 2017
-
Bonjour,

Désolé si ce post est très ancien, mais c'est dommage que l'on est pas l'explication qui vous a réussi, car je suis dans le même cas. Je n'arrive pas à voir en debug ou mon code merdouille. Mais parfois lorsque je ferme mon logiciel tout se passe bien, mais si je le relance il me dit que le processus existe déjà.

Cela arrive rarement, mais cela arrive. J'aimerai donc pouvoir killer le process avant d’ouvrir le suivant, à défaut, bien-sûr, de trouver ce qui cloche à la fermeture, ce qui serait préférable, mais rien à faire en debug il ne me le fait pas et en normale c'est vraiment pas flagrant puisque rare.

Je précise que si je kill le process dans le gestionnaire de tache cela fonctionne ensuite bien-sur.
Commenter la réponse de cs_PaTaTe

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.