cs_Alain Proviste
Messages postés908Date d'inscriptionjeudi 26 juillet 2001StatutModérateurDernière intervention 1 février 20152 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és463Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention21 avril 2010 2 nov. 2005 à 21:37
Sory ct pas quiller mais Killer
surfzoid
Messages postés463Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention21 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és908Date d'inscriptionjeudi 26 juillet 2001StatutModérateurDernière intervention 1 février 20152 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és116Date d'inscriptionjeudi 12 juillet 2001StatutMembreDernière intervention23 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és908Date d'inscriptionjeudi 26 juillet 2001StatutModérateurDernière intervention 1 février 20152 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és21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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.
3 nov. 2005 à 12:18
2 nov. 2005 à 21:37
2 nov. 2005 à 21:35
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 @++
6 mai 2005 à 18:37
3 mai 2005 à 11:23
enfin bon sa merite un 10 ca !!
29 juil. 2003 à 20:15
28 juil. 2003 à 22:37
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.