OVH Cloud OVH Cloud

API interdire plusieurs appels même programme ???

4 réponses
Avatar
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.
----------------------------------------------------------

4 réponses

Avatar
François Picalausa
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" a écrit dans le message de
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) ?


Avatar
le_troll
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" a écrit dans le message de 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" a écrit dans le message de
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) ?




Avatar
François Picalausa
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" a écrit dans le message de
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" a écrit dans le message de
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" a écrit dans le message de
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) ?






Avatar
Olivier Besson
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 <xx >de mon adresse par <com>.
(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" a écrit dans le message de
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.
----------------------------------------------------------