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