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

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

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

Message par Backup »

........................
Dernière modification par Backup le ven. 07/oct./2011 12:23, modifié 2 fois.
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message 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
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Répondre