PROCESS THREADS MODULES HANDLES DANS UN TREEVIEW EN .NET ( OUI MADAME )

cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 - 28 juil. 2003 à 22:18
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 - 3 nov. 2005 à 12:18
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/8073-process-threads-modules-handles-dans-un-treeview-en-net-oui-madame

cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
3 nov. 2005 à 12:18
je vais très prochainement publier une série de classes bien plus élégantes que ce code, ce sera très réexploitable, des arborescences & co comme je les aime, mais ce sera en c# ...
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
2 nov. 2005 à 21:37
Sory ct pas quiller mais Killer
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
2 nov. 2005 à 21:35
Trés trés cool 10/10
Ca ma permit de me debarrasser d un pb en effet souvant je veut quiller plusieur processus et avec le taskmngr de windows ça soul il faut les faire un par un donc en partant de ton code qui je repete est excelent, j ai fait :

Deplacer ces déclaration de variables dans la partie public comme suit
Public Class frmPrinc
Inherits System.Windows.Forms.Form
Dim Proc As System.Diagnostics.Process
Dim ProcThread As System.Diagnostics.ProcessThread
Dim Node As System.Windows.Forms.TreeNode
Dim mdl As System.Diagnostics.ProcessModule

dans les propriété du treewview ===> option Checkboxes = true
===> option sorted = true


et j ai rajouter un bouton ===>

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i
Node.Expand()


For i = 0 To Node.Nodes.Count - 1
Dim tpm = Node.Nodes(i).Checked
If Node.Nodes(i).Checked = True Then
Dim MyProcces As Process
Dim Procces() As Process
Dim instance As Process

Procces = MyProcces.GetProcessesByName(Node.Nodes(i).Text)
For Each instance In Procces
instance.Kill()
Next
End If
Next i
Node.Nodes.Clear()
IniTreeview()
End Sub



voili voila, pas trés élégant certe mais efficasse; reste a pofiner l hestétique et autre détails
Bp et @++
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
6 mai 2005 à 18:37
ben disons que même si effectivement .net permet de squizer certaiens api ( comme c le cas pour enumprocesses ici ) Tout n'est pas implémenté et dans ce cas on est bien obligé de retomber sur enumwindows :)
OverDarck Messages postés 116 Date d'inscription jeudi 12 juillet 2001 Statut Membre Dernière intervention 23 juin 2005
3 mai 2005 à 11:23
wow impressionant, mais quand meme il me semble que le but de .NET est de ne pas utiliser d'API....
enfin bon sa merite un 10 ca !!
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
29 juil. 2003 à 20:15
Merci j'ai mis la source ce matin en utilisant cette api mais merci quand même le hasard fait bien les chose.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
28 juil. 2003 à 22:37
DWORD GetWindowThreadProcessId(HWND hWnd, LPDWORD lpdwProcessId);
en VB serait (j'espere, tu rectifieras):
mettre le 1er param Byval, le second Byref !!!
Dim processID As Long, thread As Long
thread = GetWindowThreadProcessId(hWnd, processID);
au retour tu as processID de rempli et le thread.
Rejoignez-nous