Processview ==> arborescence affichant les processus lances (+ permet de recuperer infos...)

Description

Salut, bon bah tant qu'à faire, après mes FileView et DriveView, je poste mon "ProcessView" ;)

C'est une arborescence qui permet d'afficher les différents processus lancés sur votre PC. L'arborescence sert à visualiser "qui a lancé qui". Les icones des processus sont affichées.

En plus de l'affichage du treeview, vous aurez accès à plein de fonctions sur les processus (tuer, changer priorité, énumérer...) et vous pourez récupérer toutes les infos sur la mémoire et les modules des processus.

Voici les différents events gérés par le contrôle ProcessView :

-Click
-Collapse
-DblClick
-Expand
-KeyDown
-KeyPress
-KeyUp
-MouseDown
-MouseMove
-MouseUp
-NodeClick

Voici les différentes fonctions du UserControl :

-Refresh (rafraichit la vue)
-SelectedProcess (récupère le processus sélectionné, le type de cette fonction est ProcessItem)
-Clear (vide la vue)
-GetVisibleCount (identique au Treeview)
-HitTest (identique au treeview)
-Processes ==> permet l'accès à toutes les fonctions sur les processus, à savoir :
  • SuspendProcess ==> suspend l'exécution d'un processus
  • ResumeProcess ==> enlève la suspension
  • GetProcessPathFromPID ==> récupère le path depuis le PID
  • ProcessNumber ==> nombre de processus lancés
  • GetProcessNameFromPID ==> récupère le NAME depuis le PID
  • TerminateProcessByPID ==> kill un process
  • GetProcessTimesByPID ==> récupère les TEMPS PROCESSEURS
  • GetProcess ==> récupère toutes les infos sur le processus, la mémoire ...
  • EnumerateModules ==> énumère les modules des processus
  • EnumerateProcesses ==> énumère les processus
  • ChangePriority ==> change la priorité
  • DoesPIDExist ==> renvoie si un process existe ou pas



Evidemment, les propriétés Nodes et SelectedItem sont gérées de la même façons que pour un TV normal (lecture + écriture).

Les différents propriétés :

-Sorted
-SelectedItem
-Nodes
-Object
-Style
-LineStyle
-Index
-hwnd
-BorderStyle
-Appearance
-Indentation
-HideSelection
-DisplayPath

Et finalement les différentes informations qui peuvent être récupérées sur les processus :
  • cntUsage As Long
  • th32ProcessID As Long
  • th32DefaultHeapID As Long
  • th32ModuleID As Long
  • cntThreads As Long
  • th32ParentProcessID As Long
  • pcPriClassBase As Long
  • dwFlags As Long
  • szExeFile As String
  • childWnd As Integer
  • szImagePath As String
  • procParentProcess As ProcessItem
  • procModulesCount As Long
  • procMemory As ProcessMemoryItem


infos sur la mémoire des processus :
  • 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


infos sur les modules des processus :
  • th32ModuleID As Long 'ID du module
  • th32ProcessID As Long 'ID du processus qui utilise le module
  • GlblcntUsage As Long 'compteur d'usage global pour toutes les instances présentes
  • ProccntUsage As Long 'commteur d'usage du module pour le processus
  • modBaseAddr As Long 'adresse de début du module en mémoire
  • modBaseSize As Long 'taille du module en mémoire
  • hModule As Long 'HMODULE du module
  • szModule As String 'nom du module
  • szExeFile As String 'path du module


NOTE !!! NOTE !!!!
==> L'UserControl récupère tout seul le privilege Debug, autrement dit vous POUVEZ TUER LES PROCESSUS SYSTEME, DONC FAITES GAFFE.

Un exemple montre succintement comment récupérer des infos sur les processus sélectionnés.

Source / Exemple :


'dans le zip
'avec un exemple, tout est ultra commenté

Conclusion :


NOTE !!! NOTE !!!!
==> L'UserControl récupère tout seul le privilege Debug, autrement dit vous POUVEZ TUER LES PROCESSUS SYSTEME, DONC FAITES GAFFE.

Ce code est relativement simple.

Si vous voyez des bugs, prévenez moi !

De même, si vous avez des suggestions, remarques, conseils, commentaires, critiques ...etc, n'hésitez pas ! Et notez également svp ;)

@+

(compatible Windows Vista)

(SVP si vous avez du temps, visitez https://sourceforge.net/projects/hexeditorvb/ et rapportez moi vos commentaires/bugs ^^)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.