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

Messages postés
910
Date d'inscription
jeudi 26 juillet 2001
Statut
Modérateur
Dernière intervention
1 février 2015
- - Dernière réponse : cs_Alain Proviste
Messages postés
910
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

BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
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.
cs_Alain Proviste
Messages postés
910
Date d'inscription
jeudi 26 juillet 2001
Statut
Modérateur
Dernière intervention
1 février 2015
1 -
Merci j'ai mis la source ce matin en utilisant cette api mais merci quand même le hasard fait bien les chose.
OverDarck
Messages postés
116
Date d'inscription
jeudi 12 juillet 2001
Statut
Membre
Dernière intervention
23 juin 2005
-
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
910
Date d'inscription
jeudi 26 juillet 2001
Statut
Modérateur
Dernière intervention
1 février 2015
1 -
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 :)
surfzoid
Messages postés
467
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010
-
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 @++