Prtoection contre plusieurs lancements

Prtoection contre plusieurs lancements - C++ - Programmation

Marsh Posté le 25-11-2002 à 16:17:39    

Je souhaite réaliser un petit executable (en VC++ 6) qui empeche de lancer plusieurs fois un logiciel.
genre en ligne de commande: launch nomdusoft.exe, le soft se lance, mais il est impossible de le lancer une seconde fois.
Si quelqu'un a un bout de code pour faire çà ou une url, merci.

Reply

Marsh Posté le 25-11-2002 à 16:17:39   

Reply

Marsh Posté le 25-11-2002 à 16:19:18    

solution généralement utilisée :
tu crées un fichier au lancement, et tu le vires a la fermeture.
 
au deuxieme lancement, tu détectes que le fichier existe, et tu quittes immédiatement en le signalant.

Reply

Marsh Posté le 25-11-2002 à 16:28:22    

lorill a écrit a écrit :

solution généralement utilisée :
tu crées un fichier au lancement, et tu le vires a la fermeture.
 
au deuxieme lancement, tu détectes que le fichier existe, et tu quittes immédiatement en le signalant.




 
Le deuxieme lancement peux se faire directement en executant l'appli, sans utiliser le launcheur, donc çà ne convient pas pour ce cas là.

Reply

Marsh Posté le 25-11-2002 à 16:30:17    

ah, j'avais pas fait gaffe que tu lancais un programme que tu ne maitrisais pas. ben dans ce cas, je dirais que c'est pas possible  [:sinclaire]

Reply

Marsh Posté le 25-11-2002 à 16:30:47    

netneo a écrit a écrit :

 
 
Le deuxieme lancement peux se faire directement en executant l'appli, sans utiliser le launcheur, donc çà ne convient pas pour ce cas là.




 
Tu peux te baser sur l'existance, ou non, d'une fenêtre d'un nom donné (FindWindow)

Reply

Marsh Posté le 25-11-2002 à 16:34:43    

El_Gringo a écrit a écrit :

 
Tu peux te baser sur l'existance, ou non, d'une fenêtre d'un nom donné (FindWindow)




 
ben non, y'a le même probleme, puisqu'il ne controle pas le 2eme programme.

Reply

Marsh Posté le 25-11-2002 à 16:35:41    

lorill a écrit a écrit :

 
 
ben non, y'a le même probleme, puisqu'il ne controle pas le 2eme programme.




 
Ha !? FindWindow, c'est qu'en interne ?
Alors EnumWindow fera l'affaire...

Reply

Marsh Posté le 25-11-2002 à 16:39:03    

El_Gringo a écrit a écrit :

 
Ha !? FindWindow, c'est qu'en interne ?
Alors EnumWindow fera l'affaire...




 
Nan, c'est pas du tout ce que je voulais dire.
En fait, tu peux faire tous les controle que tu veux dans ton programme lanceur, tu empecheras pas de cliquer directement sur le programme lancé, et de squeezer les controles.

Reply

Marsh Posté le 25-11-2002 à 16:41:22    

lorill a écrit a écrit :

 
 
Nan, c'est pas du tout ce que je voulais dire.
En fait, tu peux faire tous les controle que tu veux dans ton programme lanceur, tu empecheras pas de cliquer directement sur le programme lancé, et de squeezer les controles.




 
Non, mais s'il peut être sûr que son programme est lancé, il peux très bien "surveiller" régulièrement (genre avec un TIMER) qu'il n'y ai pas 2 fois une fenêtre nommée "blaba bla".
Si il y en a une 2e, lui envoyer un petit WM_CLOSE...

Reply

Marsh Posté le 25-11-2002 à 16:43:30    

El_Gringo a écrit a écrit :

 
Non, mais s'il peut être sûr que son programme est lancé, il peux très bien "surveiller" régulièrement (genre avec un TIMER) qu'il n'y ai pas 2 fois une fenêtre nommée "blaba bla".
Si il y en a une 2e, lui envoyer un petit WM_CLOSE...




 
Ouais, guérir plutôt que prévenir en fait. Mais c'est pas la question initiale. Je crois qu'il va falloir attendre que le monsieur revienne.

Reply

Marsh Posté le 25-11-2002 à 16:43:30   

Reply

Marsh Posté le 25-11-2002 à 16:45:26    

lorill a écrit a écrit :

 
 
Ouais, guérir plutôt que prévenir en fait. Mais c'est pas la question initiale. Je crois qu'il va falloir attendre que le monsieur revienne.




 
Ben, disons que c'est guérir avant manifestation de symptomes perceptibles. Un simulation de prévention quoi ! :D

Reply

Marsh Posté le 25-11-2002 à 17:47:41    

El_Gringo a écrit a écrit :

 
 
Non, mais s'il peut être sûr que son programme est lancé, il peux très bien "surveiller" régulièrement (genre avec un TIMER) qu'il n'y ai pas 2 fois une fenêtre nommée "blaba bla".
Si il y en a une 2e, lui envoyer un petit WM_CLOSE...




 
nop c'est pas bon non plus comme çà.  ;)  
 
Le soft en question est un logiciel de GPAO.
Je veux empecher plusieurs lancements pour empecher les connexions multiples depuis une meme machine sur la base.
Je recherche donc un systeme qui empeche de relancer une instance d'un process qui tourne déjà.

Reply

Marsh Posté le 25-11-2002 à 20:49:00    

up

Reply

Marsh Posté le 25-11-2002 à 22:42:37    

ca n'existe pas sous windows ne fonction pour vérouiller un fichier? il suffit de vérouiller le binaire


Message édité par Taz@PPC le 25-11-2002 à 22:43:21

---------------
du bon usage de rand [C] / [C++]
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed