Cette source est ma première tentative en vb .net.
il faut savoir que j'ai pas la msdn .net...
Qu'y-a-til dans cette source ? D'abord une forme avec pour unique contrôle un treeview. Les treeviews, entre vb6 et .Net, y a comment dire ? du changement. Alors j'ai plus galéré pour le treeview mais bref... Dans le treeview au lancement du soft s'affiche la liste des process ( éxécutables ) en cours comme on peut la voir dans ctrl-alt-suppr avec l'id et le handle de chaque process. Pour chaque procress est détaillé l'ensemble des ses threads et de ses modules ( dll et drv et je ne sais quoi ) et tout les handles qui dépendent de ce pross et les sous handles tout ça correctement hiérarchisé. Après on pourrait dans une amélioration future détailler tout ce qu'on peut sur les threads et les modules et les process et les handmes grâce aux nombreuses propriétés et méthodes qui sont fourni par system.diagnostics puis les apis de bases et faire une sorte ctrl-alt-suppr en encore plus détaillé.
Pour lister process, threads et modules on utilise les outis .net c'est très bien super pas de problèmes.
Mais après la liste des process s'affiche grâce aux fonction enumwindows et enumchildwindows et là je n'ai pas trouvé dans .net des équivalents pour ne pas avoir à utiliser ces apis. Alors il a fallu les déclarer. Puis les utiliser. Mais comme chacun le sait ce sont des apis qui utilisent des callback de procédures et là c'est plus pareil que dans vb6 c'est encore plus bordélique.
Donc voilà, non seulement cette source m'a permis d'apprendre à accéder à windows à partir de .net mais aussi les fonction callbacks...
Ouah t'as vu t'as lu tout ça. ( je viens faire monter la moyenne nationnale de la lecture - et aussi des fautes surement )
Source / Exemple :
'in the zip
Conclusion :
Heu si je postais ça c'est pas ( seulement ) pour étaler ce que je sais faire, c'est mon premier soft en .net alors si des âmes se sentent de me dire "oui là, t'aurais pu..." moi j'écoute ( et éventuellement je remercie, de nombreux lots à gagner pour les meilleurs d'entre vous... )
Je suis ouvert à toutes les remarques.
Sinon si ça peut aider certains ça me fait plaisir, sincèrement.
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 !!
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.