Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

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


Information sur la source

Catégorie :Système Source .NET ( DotNet ) Classé sous : thread, process, handle, treeview, hwnd Niveau : Débutant Date de création : 28/07/2003 Date de mise à jour : 04/12/2004 01:35:40 Vu / téléchargé: 14 133 / 1 058

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
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 )  
 

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.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

04 décembre 2004 01:35:40 :
orthographe des fonctions enumwindows pour les recherches

Commentaires et avis

signaler à un administrateur
Commentaire de BruNews le 28/07/2003 22:37:42 administrateur CS

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.

signaler à un administrateur
Commentaire de Alain Proviste le 29/07/2003 20:15:12 administrateur CS

Merci j'ai mis la source ce matin en utilisant cette api mais merci quand même le hasard fait bien les chose.

signaler à un administrateur
Commentaire de OverDarck le 03/05/2005 11:23:08

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 !!

signaler à un administrateur
Commentaire de Alain Proviste le 06/05/2005 18:37:56 administrateur CS

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 :)

signaler à un administrateur
Commentaire de surfzoid le 02/11/2005 21:35:03

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 @++


signaler à un administrateur
Commentaire de surfzoid le 02/11/2005 21:37:02

Sory ct pas quiller mais Killer

signaler à un administrateur
Commentaire de Alain Proviste le 03/11/2005 12:18:26 administrateur CS

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# ...

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Récupérer le handle d'un contrôle qui n'a pas de fonction ".hwnd" !!!!!!!!!!!!!!!!! please help ! [ par Blousé ] Pour pouvoir donner le look office 2000 (fait à partir d'une des sources du site...) à mes contrôles, j'utilise forms 2.0, mais le prob, c que pour le handle (hwnd) et activeX [ par booth ] bonjour,là je cale, car j'ai une fonction qui nécessite d'avoir le handle en parametre, le truc c'est ke j'ai pas trouvé où je peux sortir cette propr Process thread mémory... [ par nicolas12 ] bonjour a vousje cherche à lire et a stoquer sous forme de fichier toutes les plages mémoires qu'une application utilise, et a modifier automatiquemen API ShellExecute [ par jockos ] Salut,LE premier paramètre de la méthode Api ShellExecute est un Long qui a pour nom Hwnd...J'ai été voir sur la MSDN et il semblerai que ce soit l'ha Handle hWnd - descripteur Fenêtre [ par vbost ] Je trouve pratique d'utiliser les descripteurs de fenêtres afin de pouvoir naviguer d'une fenêtre à l'autre (comme de la fenêtre appellée vers la fenê VB.Net: Utilisation de Graphics.FromHwnd [ par darollinghobbit ] Bonjour, Je voudrai dessiner sur mon form sans utiliser l'event Paint et j'ai trouvé cette subPublic Sub FromHwndHwnd(e As PaintEventArgs)' Get handl handle aléatoire avec FindWindow [ par dogeater ] Bonjour, j'utilise Microsoft Visual Basic 2005 express beta.Le code ci dessous me retourne un handle aléatoire, il me renvoie un nombre même si il n' handle , exe , thread, PID, ModuleID [ par finelame ] Bonjour tout le monde,Bon voila ... j'ai une toute petite kestion : comment ca marche les handle , exe , thread, PID, ModuleID .... et blabla .. tout Pourcentage d'un processus thread ou process CPU [ par DavidT ] Comme le gestionnaire de tache, il existe la possibilité de de visualiser sur un système NT la mémoire physique consommée par un process déterminé par Remplissage d'un TreeView par un thread [ par ofeelfree ] Bonjour,Voici mon problème : j'ai un formulaire qui contient un TreeView, et une méthode qui remplit ce TreeView avec la liste des ordinateu


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.