Page 1 sur 1

[R] Une seule fois l'application en cours...

Posté : mar. 01 janv. 2008 12:34
par arrkhan
Bonne Année,

Y a t il une fonction simple qui permette de ne lancer qu'une seule fois l'exe, j'ai tenté de faire avec processexist mais il me met l'erreur meme au premier lancement ce qui n'est pas franchement le but recherché.

Merci d'avance.

Posté : ven. 04 janv. 2008 19:27
par sylvanie

Posté : ven. 04 janv. 2008 23:05
par arrkhan
merci Sylvanie

je devais pas être bien réveillé quand j'ai fait ma recherche sur le forum... dsl

Posté : ven. 04 janv. 2008 23:54
par DidUngar
Sinon ( comme tu as pas encore ecrit [R] ) tu peut aussi utiliser :

Code : Tout sélectionner

#cs ----------------------------------------------------------------------------

 Version: 1.0.0.1
 Author:         DidUngar

 Script Function:
    Fonctions de syncronisation des scripts.

#ce ----------------------------------------------------------------------------

; Initialisation
If (FileExists ( "/var_sess/" )==0) Then
    MsgBox(0,"Variable de session","Un dossier ''var_sess'' vient d'etre ajouter a votre racine.",15)
    DirCreate ( "/var_sess/" )
EndIf


; Fonctions
Func sess_wait()
    While ( 1 )
        If ( sess_get()=="" ) Then
            return true;
        EndIf
        Sleep(500)
    Wend
    return false; une erreur c'est produite.
EndFunc
Func sess_make($name)
    While ( 1 )
        If ( sess_get()=="" ) Then
            If ( sess_new($name) ) Then
                Return True;
            EndIf
        EndIf
        Sleep(500)
    Wend
EndFunc
Func sess_new($name)
    $name_ = $name & Random(0,1)
    $file=FileOpen ( "/var_sess/sess_act.txt", 2 )
    FileWrite ( $file, $name_ )
    FileClose ( $file )
    Sleep(250)
    If ( sess_get()<>$name_ ) Then
        Return False;
    EndIf
    $file=FileOpen ( "/var_sess/sess_act.txt", 2 )
    FileWrite ( $file, $name )
    FileClose ( $file )
    
    Return True;
EndFunc
Func sess_get()
    If (   FileExists( "/var_sess/sess_act.txt" )   ) Then
        Return FileRead ( "/var_sess/sess_act.txt" )
    Else
        Return "";
    EndIf
EndFunc
Func sess_del()
    $file=FileOpen ( "/var_sess/sess_act.txt", 2 )
    FileWrite ( $file, "" )
    FileClose ( $file )
    Return ;
EndFunc
un make_sess au debut
un sess_del a la fin....

Et tu peut activer desactivé en cours d'utilisation.
En plus ca marche même entre tout tes programmes...

C'est se que j'utilise.