IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Lister processus lancé avec leurs chemins


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Lister processus lancé avec leurs chemins
    Bonsoir à vous, je me penche sur la question depuis pas mal de jours, comment lister les processus lancé avec leurs chemins d’accès? Oui les chemins d’accès que j'ai besoin pour un système d'anti cheat ^^

    J’espère avec des réponses, beaucoup de chose sont possible via les processus et j'espères que sa en fait une aussi merci pour ceux qui répondent!

    Si vous avez besoin de plus d'info n'hésitez pas

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Pensez vous que c'est un bon moyen comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    Private Declare Function _
        CloseHandle Lib "Kernel32.dll" (ByVal _
        Handle As Long) As Long
        Private Declare Function _
        OpenProcess Lib "Kernel32.dll" (ByVal _
        dwDesiredAccessas As Long, _
        ByVal bInheritHandle As Long, _
        ByVal dwProcId As Long) As Long
        Private Declare Function _
        EnumProcesses Lib "PSAPI.DLL" (ByRef _
        lpidProcess As Long, ByVal cb As Long, _
        ByRef cbNeeded As Long) As Long
        Private Declare Function _
        GetModuleFileNameExA Lib "PSAPI.DLL" (ByVal _
        bhProcess As Long, _
        ByVal hModule As Long, ByVal _
        ModuleName As String, _
        ByVal nSize As Long) As Long
        Private Declare Function _
        EnumProcessModules Lib "PSAPI.DLL" (ByVal _
        hProcess As Long, ByRef _
        lphModule As Long, ByVal cb As Long, ByRef _
        cbNeeded As Long) As Long
        Private Const PROCESS_QUERY_INFORMATION = 1024
        Private Const PROCESS_VM_READ = 16
        Private Const MAX_PATH = 260
        Private Type PROCESS_MEMORY_COUNTERS
        cb As Long
        PageFaultCount As Long
        PeakWorkingSetSize As Long
        WorkingSetSize As Long
        QuotaPeakPagedPoolUsage As Long
        QuotaPagedPoolUsage As Long
        QuotaPeakNonPagedPoolUsage As Long
        QuotaNonPagedPoolUsage As Long
        PagefileUsage As Long
        PeakPagefileUsage As Long
        End Type
        Private Type PROCESSENTRY32
        dwSize As Long
        cntUsage As Long
        th32ProcessID As Long ' Le processus
        th32DefaultHeapID As Long
        th32ModuleID As Long ' exe associé
        cntThreads As Long
        th32ParentProcessID As Long
        pcPriClassBase As Long
        dwFlags As Long
        szExeFile As String * 260
        End Type
        Private Function Processus(ByVal _
        ID As Integer) As String
        On Error Resume Next
        Dim booResult As Boolean
        Dim lngLength As Long
        Dim lngProcessID As Long
        Dim strProcessName As String
        Dim lngSnapHwnd As Long
        Dim udtProcEntry As PROCESSENTRY32
        Dim lngCBSize As Long
        Dim lngCBSizeReturned As Long
        Dim lngNumElements As Long
        Dim lngProcessIDs() As Long
        Dim lngCBSize2 As Long
        Dim lngModules(1 To 200) As Long
        Dim lngReturn As Long
        Dim strModuleName As String
        Dim lngSize As Long
        Dim lngHwndProcess As Long
        Dim lngLoop As Long
        Dim pmc As PROCESS_MEMORY_COUNTERS
        Dim strProcName, strProcName2 As String
        Dim NbProc, ListeProc(1 To 10000) As String
        NbProc = 0
        booResult = False
        ' nom de Explorer
        EXEName = "explorer.exe"
        EXEName = UCase$(Trim$(EXEName))
        lngLength = Len(EXEName)
        lngCBSize = 8
        lngCBSizeReturned = 96
        Do While lngCBSize <= lngCBSizeReturned
        DoEvents
        'Incremente la taille
        lngCBSize = lngCBSize * 2
        'Loue la mémoire
        ReDim lngProcessIDs(lngCBSize / 4) As Long
        'Prends l' ID du processus
        lngReturn = EnumProcesses(lngProcessIDs(1), lngCBSize, lngCBSizeReturned)
        Loop
        'Compte les processus
        lngNumElements = lngCBSizeReturned / 4
        For lngLoop = 1 To lngNumElements
        DoEvents
        'Donne le handle du processus et l' ouvre
        lngHwndProcess = OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_READ, 0, lngProcessIDs(lngLoop))
        If lngHwndProcess <> 0 Then
        lngReturn = EnumProcessModules(lngHwndProcess, lngModules(1), 200, lngCBSize2)
        If lngReturn <> 0 Then
        NbProc = NbProc + 1
        strModuleName = Space(MAX_PATH)
        lngSize = 500
        'Prend le nom du processus
        lngReturn = GetModuleFileNameExA(lngHwndProcess, lngModules(1), strModuleName, lngSize)
        'Enlève les espaces
        strProcessName = Left(strModuleName, lngReturn)
        ListeProc(NbProc) = strProcessName
        End If
        End If
        'Ferme les handles du processus
        lngReturn = CloseHandle(lngHwndProcess)
        DoEvents
        Next
        If ID = 0 Then
        Processus = NbProc
        ElseIf ID > 0 And ID <= NbProc Then
        Processus = ListeProc(ID)
        Else
        Processus = ""
        End If
        End Function
        Sub Form_Load() 'pour l' appeller
        'Si i=0 --> variable= nombre de procesus
        'Sinon --> variable= nom ou chemin d' accès du processus "i"
        variable = Processus(i)
        MsgBox (variable)
        End Sub
    Il n'y a que ce moyen?

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 269
    Points : 460
    Points
    460
    Par défaut
    Bonjour,

    Pas besoin d'aller chercher des méthodes win32.
    La méthode GetProcesses est là pour récupérer les liste des processus. Et un propriétée StartInfo permet d'obtenir toutes sorte d'information sur le processus.

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/08/2011, 23h22
  2. Réponses: 2
    Dernier message: 16/12/2010, 09h11
  3. Réponses: 4
    Dernier message: 11/09/2008, 16h03
  4. [MySQL] lister des champs et faire la correspondance avec leur description
    Par missnouvelle dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/06/2007, 09h16
  5. Lister les process avec leurs arguments
    Par jamfr73 dans le forum MFC
    Réponses: 5
    Dernier message: 23/12/2004, 10h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo