GNT sans publicité, site mobile, fonctionnalitées exclusives...

API interdire plusieurs appels même programme ???

Le
le_troll
API interdire plusieurs appels du même programme

Bonjour,

Je crois que c'est possible pas API, mais je ne trouve plus:

-1- Comment, depuis 1 exe interdire que ce dernier lance plusieurs fois le
même programme ?

-2- Et encore plus fort !
Comment, depuis 1 exe interdire que ce dernier lance un programme s'il est
déjà lancé (mais que ce n'est pas de lui qui vient le lancement) ?
--
Merci, @+, bye, Joe : ng75@noos.fr
-
Avec une hache, celui qui tient le manche a toujours raison.
-
Lire les 4 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
François Picalausa
Le #14534041
Bonjour/soir,

Tu peux interdire à ton exe de lancer plusieurs fois un même programme en
gardant une variable indiquant si un lancement a déjà été effectué.

En ce qui concerne ta seconde question, essaye l'exemple suivant:
http://support.microsoft.com/?id2986

Il énumère tous les process en cours.
Si il est en cours, il suffit de ne pas le lancer :-)

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"le_troll" news:ud0awiI%
API interdire plusieurs appels du même programme

Bonjour,

Je crois que c'est possible pas API, mais je ne trouve plus:

-1- Comment, depuis 1 exe interdire que ce dernier lance plusieurs
fois le même programme ?

-2- Et encore plus fort !
Comment, depuis 1 exe interdire que ce dernier lance un programme
s'il est déjà lancé (mais que ce n'est pas de lui qui vient le
lancement) ?


le_troll
Le #14534021
Merci François,
La 1ere réponse est ok, il existe d'ailleurs du code pour ça, mais si tu
lances 2 fois ton exe par exemple, le 1er ne connaît pas les variables du
second, faut un fichier à ce moment, ou une variable d'environnement...

A ce propos, sais-tu comment on gère les variables d'environnement en VB, ?

--
Merci, @+, bye, Joe :
----------------------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison.
----------------------------------------------------------


"François Picalausa" em37xyI#
Bonjour/soir,

Tu peux interdire à ton exe de lancer plusieurs fois un même programme en
gardant une variable indiquant si un lancement a déjà été effectué.

En ce qui concerne ta seconde question, essaye l'exemple suivant:
http://support.microsoft.com/?id2986

Il énumère tous les process en cours.
Si il est en cours, il suffit de ne pas le lancer :-)

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"le_troll" news:ud0awiI%
> API interdire plusieurs appels du même programme
>
> Bonjour,
>
> Je crois que c'est possible pas API, mais je ne trouve plus:
>
> -1- Comment, depuis 1 exe interdire que ce dernier lance plusieurs
> fois le même programme ?
>
> -2- Et encore plus fort !
> Comment, depuis 1 exe interdire que ce dernier lance un programme
> s'il est déjà lancé (mais que ce n'est pas de lui qui vient le
> lancement) ?




François Picalausa
Le #14534011
Bonjour/soir,

On peut paratager des informations entre deux instances d'un programme au
travers d'un componsant ActiveX Exe.
Un module dans ce type de composant est partagé.
Avec une variable globale dans ce module accédée par des propriétés dans la
classe permettant l'instanciation devrait suffire.
Une autre possibilité est de ne pas permettre à deux instances de ton
programme de tourner en même temps.

Pour les variables d'environnement, tu as Environ$ qui permet de récupérer
leur valeur et les API SetEnvironmentVariable/GetEnvironnementVariable pour
un process définit.

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"le_troll" news:uAX2baJ%
Merci François,
La 1ere réponse est ok, il existe d'ailleurs du code pour ça, mais si
tu lances 2 fois ton exe par exemple, le 1er ne connaît pas les
variables du second, faut un fichier à ce moment, ou une variable
d'environnement...

A ce propos, sais-tu comment on gère les variables d'environnement en
VB, ?


"François Picalausa" news: em37xyI#
Bonjour/soir,

Tu peux interdire à ton exe de lancer plusieurs fois un même
programme en gardant une variable indiquant si un lancement a déjà
été effectué.

En ce qui concerne ta seconde question, essaye l'exemple suivant:
http://support.microsoft.com/?id2986

Il énumère tous les process en cours.
Si il est en cours, il suffit de ne pas le lancer :-)

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"le_troll" news:ud0awiI%
API interdire plusieurs appels du même programme

Bonjour,

Je crois que c'est possible pas API, mais je ne trouve plus:

-1- Comment, depuis 1 exe interdire que ce dernier lance plusieurs
fois le même programme ?

-2- Et encore plus fort !
Comment, depuis 1 exe interdire que ce dernier lance un programme
s'il est déjà lancé (mais que ce n'est pas de lui qui vient le
lancement) ?






Olivier Besson
Le #14533981
Bonjour,

Il suffit de tester au lancement de ton programme :
If App.PrevInstance Then
Msgbox "L'application tourne déjà"

(Attention ça marche sur l'executable mais pas entre l'executable et le
source ouvert sous l'éditeur).


--

Olivier Besson
Pour m'ecrire, remplacer le (Je ne lis pas mes mails frequement)
To write me, replace <xx> part of my address by <com> (i don't read my mails
very frequently).



"le_troll" news:ud0awiI%
API interdire plusieurs appels du même programme

Bonjour,

Je crois que c'est possible pas API, mais je ne trouve plus:

-1- Comment, depuis 1 exe interdire que ce dernier lance plusieurs fois le
même programme ?

-2- Et encore plus fort !
Comment, depuis 1 exe interdire que ce dernier lance un programme s'il est
déjà lancé (mais que ce n'est pas de lui qui vient le lancement) ?
--
Merci, @+, bye, Joe :
----------------------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison.
----------------------------------------------------------






Publicité
Suivre les réponses
Poster une réponse
Anonyme