BLOQUEUR MULTI LANCEMENT D'UN PROGRAMME

cs_vanhalen Messages postés 2 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 16 mars 2007 - 16 mars 2007 à 17:29
cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012 - 17 mars 2007 à 15:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41867-bloqueur-multi-lancement-d-un-programme

cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012
17 mars 2007 à 15:07
salut, personnelement moi j'utilise ce code pour empecher 2x une appli de se lancer

'Code by Adam Verwijs
Const ERROR_ALREADY_EXISTS = 183&
Private Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (lpMutexAttributes As Any, ByVal bInitialOwner As Long, ByVal lpName As String) As Long
Private Declare Function ReleaseMutex Lib "kernel32" (ByVal hMutex As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Sub Form_Load()
Dim hMutex As Long
'Try to create a new Mutex
hMutex = CreateMutex(ByVal 0&, 1, App.Title)
'Did the mutex already exist?
If (Err.LastDllError = ERROR_ALREADY_EXISTS) Then
'Clean up
ReleaseMutex hMutex
CloseHandle hMutex
'More than one instance detected
MsgBox "More than one instance"
End
Else
'form load code
End If
End Sub
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
16 mars 2007 à 20:53
Ahhhhh autant pour moi lol...
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
16 mars 2007 à 20:52
MadM@tt -> non, appli externe (description trompeuse)
vanhalen -> j'attends la maj au plus vite, ton code risque de ne pas passer la nuit :$
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
16 mars 2007 à 20:36
Salut, App.Previnstance ne permet pas de faire la meme chose ? (je suis pris d'un doute la)
(et content que mon code ait pu servir)
dead33 Messages postés 29 Date d'inscription vendredi 31 mars 2006 Statut Membre Dernière intervention 4 décembre 2007
16 mars 2007 à 19:41
bonjour
seul "modDeclarProcess.bas" et "modProcess.bas" sont utile
alors elimine les autre du zip
a+
bonne prog...
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
16 mars 2007 à 19:21
Salut, l'intérêt de cette source me semble limité, parce que :


- si je lance une autre application "calc.exe" qui n'a rien à voir avec la calculatrice, elle ne se lancera pas (pas de test sur le fichier *.exe cible du processus)

- quel intérêt de tuer plusieurs instances d'un même programme ??

- programmaticalement parlant, il n'y a que deux For..Next et un If... Then..., des modules complètement inutiles ici (et de Madm@tt en plus), et même le peu de code de la form est incohérent (constante, API, variables, et instructions inutiles)


Enfin bon, je suis pas admin...
@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
16 mars 2007 à 18:25
salut,
en remplaçant le 2e par calc.exe (je suppose que c'est un oubli), et en ajoutant doevents (plus pratique ...), ton appli plante lors de la destruction de la première instance de calc.exe

ps : fait le tri dans les modules, pas la peine de bourrer un zip pour le plaisir alors que seules 3 procedures sont vraiment utiles
++
cs_vanhalen Messages postés 2 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 16 mars 2007
16 mars 2007 à 17:29
avant d'oublier un merci pour MadM@tt pour sa sourse (j'ai pas voulu y toucher j'ai pas eu le temps d'eliminer les fonctions non utilisée :)) et je soutient son avi pour les API
Rejoignez-nous