Savoir si le programme est deja executer.
Publié : mar. 12/juil./2011 17:37
Bonjour tout le monde,
J'ai fait un petit code pour savoir si le programme est déjà executer. Si cela est le cas il met la fenêtre tu programme actif et quitte automatiquement.
Creer un executable et lancer le plusieur fois pour voir le resultat. J'espère que cela vous sera utile?
Cordialement,
GallyHC
J'ai fait un petit code pour savoir si le programme est déjà executer. Si cela est le cas il met la fenêtre tu programme actif et quitte automatiquement.
Code : Tout sélectionner
; ****************************************************************************
; ****************************************************************************
; ****************************************************************************
; ****************************************************************************
; +--------------------------------------------------------------------------+
; | |
; +--------------------------------------------------------------------------+
EnableExplicit
; ****************************************************************************
; ****************************************************************************
; ****************************************************************************
; ****************************************************************************
; +--------------------------------------------------------------------------+
; | |
; +--------------------------------------------------------------------------+
#SW_SHOWNORMAL = 1
Procedure.b ActivatePrevInstance(title.s)
; Recherhce du nom de la fenêtre.
Protected hwnd
hwnd = FindWindow_(#Null, title)
If hwnd
;
; A RETIRE JUSTE POUR LE TEST
;
MessageRequester("ActivatePrevInstance", "Une précédente Instance portant le même nom a été trouvée. Nous allons la rappeler à l'écran et quitter.", #PB_MessageRequester_Ok)
;
; A RETIRE JUSTE POUR LE TEST
;
ShowWindow_(hwnd, #SW_SHOWNORMAL)
SetForegroundWindow_(hwnd)
End
EndIf
ProcedureReturn #False
EndProcedure
; ****************************************************************************
; ****************************************************************************
; ****************************************************************************
; ****************************************************************************
; +--------------------------------------------------------------------------+
; | |
; +--------------------------------------------------------------------------+
Define hWnd.l
Define event.l
Define title.s = "Nom de la Fenêtre..."
If ActivatePrevInstance(title) = #False
hWnd = OpenWindow(0, 0, 0, 200, 100, title, #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_ScreenCentered)
If hWnd <> 0
Repeat
event = WaitWindowEvent()
Until event = #PB_Event_CloseWindow
EndIf
EndIf
Cordialement,
GallyHC