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

cs_PaTaTe 1486 Messages postés mercredi 21 août 2002Date d'inscriptionContributeurStatut 12 mars 2018 Dernière intervention - 7 févr. 2008 à 03:39 - Dernière réponse : chris37000 44 Messages postés vendredi 22 décembre 2000Date d'inscription 12 décembre 2017 Dernière intervention
- 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 

8 réponses

Répondre au sujet
kakenette 218 Messages postés dimanche 1 mai 2005Date d'inscription 15 novembre 2009 Dernière intervention - 8 févr. 2008 à 17:52
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de kakenette
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 7 févr. 2008 à 09:04
0
Utile
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
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 7 févr. 2008 à 09:05
0
Utile
Re,

Et cette source aussi....

A+
Exploreur

 Linux a un noyau, Windows un pépin
Commenter la réponse de cs_Exploreur
cs_PaTaTe 1486 Messages postés mercredi 21 août 2002Date d'inscriptionContributeurStatut 12 mars 2018 Dernière intervention - 7 févr. 2008 à 12:56
0
Utile
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
kakenette 218 Messages postés dimanche 1 mai 2005Date d'inscription 15 novembre 2009 Dernière intervention - 8 févr. 2008 à 00:19
0
Utile
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
cs_PaTaTe 1486 Messages postés mercredi 21 août 2002Date d'inscriptionContributeurStatut 12 mars 2018 Dernière intervention - 8 févr. 2008 à 01:43
0
Utile
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
cs_PaTaTe 1486 Messages postés mercredi 21 août 2002Date d'inscriptionContributeurStatut 12 mars 2018 Dernière intervention - 9 févr. 2008 à 00:48
0
Utile
1
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 44 Messages postés vendredi 22 décembre 2000Date d'inscription 12 décembre 2017 Dernière intervention - 12 déc. 2017 à 10:26
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.