Page 1 sur 1

..............

Publié : dim. 15/oct./2006 14:41
par Backup
........................

Publié : dim. 08/juin/2008 17:11
par lionel_om
A partir du code précédent voilà une fonction pour tester si un processus est lancé ou non :

Code : Tout sélectionner

Procedure CheckForProcess(process_name$)
  #TH32CS_SNAPPROCESS = $2
  process.PROCESSENTRY32
  process\dwSize = SizeOf (PROCESSENTRY32)
  
  hProcess32Lib = OpenLibrary(#PB_Any, "kernel32.dll")
  If hProcess32Lib
    snapshot = CallFunction (hProcess32Lib, "CreateToolhelp32Snapshot", #TH32CS_SNAPPROCESS, 0)
    If snapshot
      ; Call Process32First with snapshot handle and pointer to structure...
      If CallFunction (hProcess32Lib, "Process32First", snapshot, @process)
        While CallFunction (hProcess32Lib, "Process32Next", snapshot, @process)
          If PeekS (@process\szExeFile) = process_name$
            CloseHandle_ (snapshot)
            CloseLibrary (hProcess32Lib)
            ProcedureReturn #True
          EndIf
        Wend
      EndIf
      CloseHandle_(snapshot)
    EndIf
    CloseLibrary (hProcess32Lib)
  EndIf
EndProcedure
Lio