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 !

YET ANOTHER PROCESS MONITOR


Information sur la source

Catégorie :Système Source .NET ( DotNet ) Classé sous : yapm, process, service, handle, processus Niveau : Expert Date de création : 01/01/2009 Date de mise à jour : 21/03/2009 18:59:50 Vu / téléchargé: 3 750 / 369

Note :
8,8 / 10 - par 5 personnes
8,80 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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


Description

Cliquez pour voir la capture en taille normale
Bonjour à tous,


YAPM (Yet Another Process Monitor) est un programme permettant d'entièrement gérer les processus et services de votre système.
Cà regroupe la quasi-totalité des fonctions utiles pour la gestion des processus.

Il est fortement basé (au niveau de l'interface de la vue détaillée et au niveau des fonctions disponibles) sur "Process Explorer" de sysinternals (Microsoft). Dans le résultat bien sur, pas le code (non dispo au passage).



Sommaire de la description
* Principales fonctions communes
* Fonctions additionnelles par rapport à taskmgr ou autre
* Reste à faire pour terminer
* Complétion future
* Commentaires sur le code
* Réutilisation de code
* License
* Compilation du code
* Utilisation
* Commentaires généraux
* Sourceforge



Principales fonctions communes :
* Gestion complète des tâches comme dans taskmgr
* Gestion des processus complète (kill, priorité, pause/resume, récupération des infos...)
* Récupération des modules/threads des processus
* Gestion des services (start/pause/stop..., type de démarrage...)
* Recherche de string dans les handles/modules/services/processus ouverts/chargés
* Récupération des infos sur un fichier + actions de base (changement dates/attributs...)
* Préférences + vérification de MAJ online + auto download
* Sauvegarde de rapports sur les processus/services/handles
* Récupération online de la decription des processus + leur taux de dangerosité (basé uniquement sur le nom, pas sur leur MD5)

Fonctions additionnelles par rapport à taskmgr ou autre :
* Gestion complète des threads (mais priorités un peu boguées^^)
* Récupération des handles des processus
* Gestion des fenêtres ouvertes par les processus
* Gestion complète des modules
* Emergency hotkeys (programmation de raccourcis d'urgence)
* State Based Actions (règles programmables à activer en fonction de l'état des processus)
* Vue des connexions TCP/UDP ouvertes par les processus
* Sélection du processus associé à une fenêtre par drag & drop de la souris (comme dans Process Explorer)
* Sélection multiples de processus/services pour autoriser un multikill violent par exemple
* Récupération de multiples informations utiles (I/O des processus, changement privileges, zones mémoires, services associés aux processus...)
* Gestion des fenêtres ouvertes par les processus
* Possibilité de délocker un fichier ouvert par un autre programme
* Application user friendly
* Option 'Full power' (enable le debug privilege) qui permet de toucher aux processus système (maintenant par défaut)
* Monitoring complet de l'ensemble des objets Windows (identique à l'analyseur de performances dans perfmon.msc) avec gestion plus complète de l'échelle de temps (récupération des infos via PerformanceCounter)
* Gestion par thread
* Gestion des privileges des processus
* tray icon animée (usage CPU/mémoire)
* gestion des zones mémoire virtuelles
* éditeur hexadécimal intégré pour lire la mémoire
* fonctions shutdown/reboot/...
* historique de toutes les statistiques par processus
* mode 'log' (récupère toutes les changements sur un processus et créé un log configurable. Récupère threads, memory regions, handles, windows, connexions, services & modules)
* ....


Reste à faire pour terminer :
* Récupération plus intelligente des chemins d'accès aux processus (notamment sous XP pour \C:\?\Windows....)
* Fichier d'aide
* Vue treeview pour le lien de parenté des processus


Complétion future :
* Fiaiblité ++ (quelques petits bugs connus mais dont l'origine n'est pas encore identifiée)
* Meilleure gestion des droits (YAPM doit nécessiter moins de droits, et proposer plus de fonctions pour les codes non admin)


Commentaires sur le code :
* VB.Net avec Visual Studio 2008
* Commenté, mais tout en anglais
* Niveau expert

Réutilisation de code :
* Code pour le tri des colonnes d'un listview tiré d'ici http://www.vb-helper.com/howto_net_listview_sort_clicked_column.html
* Utilisation du driver de ShareVB pour la récupération des handles système (merci à lui !)
* Utilisation d'une Dll externe pour l'ajout d'un Ribbon genre Office 2007 (voir la partie license pour l'auteur)
* Utilisation d'icones sous licence Creative Commons
* Quelques morceaux de code inspirés de Process Hacker par wj32
* Vérification wintrust des fichiers : http://www.pinvoke.net/default.aspx/wintrust/WinVerifyTrust(2008-04-26-14-57-07.1570--91.76.224.60).html

License
* GNU GPL 3.0 pour l'ensemble du projet
* Dll RibbonControl de Jose M. Menendez Poó (http://www.codeproject.com/KB/toolbars/WinFormsRibbon.aspx) sous license Microsoft Public License (Ms-PL)
* Icones en Creative Commons
* Certaines fonctions (2 ou 3, voir fichier readme.txt pour les détails) sont inspirées par du code sous licence GNU GPL 3.0 (code de wj32 dans Process Hacker).

Compilation du code
* Démarrer le fichier solution et compiler en mode RELEASE ou DEBUG

Utilisation
* De préférence en tant qu'administrateur pour avoir accès à tous les droits sur les processus
* Compatible Vista (développé dessus), XP Pro (c'est ok sur ma machine virtuelle) mais PAS WINDOWS 2000 (mais franchement on s'en fout !!)
* Les menus non enabled sont généralement des fonctions non encore implémentées

Commentaires généraux :
* Utilisation de fonctions API pltôt que leur équivalent dans le framework .Net. C'est fait exprès, c'est pour plus de performances.
* Utilisation de pointeurs. C'est pas safe mais je suis obligé. Unmanaged memory.
* Déclarations des fonctions API probablement assez foireuses pour certaines (héritage de code VB6 mal traduit).

Sourceforge :
* Pour plus de facilité pour les MAJ, le code est principalement uploadé sur sourceforge : https://sourceforge.net/projects/yaprocmon/ A quand la gestion de SVN sur vbfrance ? :-)




La dernière version de ce code source est disponible ici : https://sourceforge.net/projects/yaprocmon/
Un setup avec l'exécutable est également disponible au même endroit : https://sourceforge.net/project/platformdownload.php?group_id=244697

Dernier code à jour disponible en SVN ici : https://yaprocmon.svn.sourceforge.net/svnroot/yaprocmon
(pas forcément utilisable, ne prendre que les releases normalement).
 

Source

  • ' A COMPILER EN RELEASE !
  • ' La dernière version du code est disponible ici (SVN) :
  • ' https://sourceforge.net/projects/yaprocmon/
  • ' Visual Studio 2008 (au pire éditer le fichier solution, remplacer l'entête par une version antérieure.
' A COMPILER EN RELEASE !

' La dernière version du code est disponible ici (SVN) :
' https://sourceforge.net/projects/yaprocmon/

' Visual Studio 2008 (au pire éditer le fichier solution, remplacer l'entête par une version antérieure.

Conclusion

Voilà, si vous avez des remarques, des MAJ à proposer, des bugs trouvés, n'importe quoi à dire ben ne vous gênez pas c'est fait pour :-)

A compiler en mode release !

Distribuable en fichier zip.


La prochaine version sera une RC1 en download sur sourceforge !!



UTILISATION NON GARANTIE ! POTENTIELLEMENT EXTREMEMENT DANGEREUSE QUI PLUS EST. ATTENTION A LA FONCTION SBA (Stated Based Action), TOUJOURS SIMULER AVANT (touche F2) ET BIEN REFLECHIR AUX REGLES CREEES.

@+
 

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

01 janvier 2009 20:43:18 :
mise en page
02 janvier 2009 12:58:56 :
Un poil de programmation orientée objet pour les objets Service, File et Process :-)
08 janvier 2009 19:33:03 :
Ajout de la fonction de monitoring, performances++, bugs résolus, etc
08 janvier 2009 19:38:13 :
Changement screenshot
10 janvier 2009 18:04:27 :
Debug + ajout gestion threads + theme pour les LV/TV + monitoring++
10 janvier 2009 18:06:43 :
Description
10 janvier 2009 18:15:11 :
description
11 janvier 2009 15:56:09 :
Gestion complète des fenêtres des processus
18 janvier 2009 19:09:43 :
Pleins pleins de bugs résolus, ajout de nouvelles fonctions, peaufinements divers, ajout de la production de rapport (sauf pour les processus et le monitoring)
01 février 2009 18:27:08 :
- Suppresion du setup (distribution de l'application par fichier zip) - Simplification de l'IHM (suppression d'onglets/boutons inutiles/surchageant trop) - Auto update avec téléchargement auto de la dernière version (bug trivial à corriger aux 100%) - Choix des colonnes pour les processus (dbl click sur le listview -> premier refresh à peaufiner) - Déchargement modules OK - Sauvegarde de rapports OK pour preque tous - Meilleure interface (zones redimensionnables) - Meilleure gestion des services (plus de services listés, plus d'informations, processus du service récupéré) - Toutes les fonctions sur la gestion des fichiers sont désormais disponibles - Recherche plus rapide - Optimisation de l'affichage (plus aucun scintillements et temps plus cours de remplissage des listviews) - Très (très très) nombreux bugs résolus - Nouvelle interface pour les processus (zone 'détails' en bas, détachable dans le futur) - Récupération de nouvelles stats pour les processus (informations d'I/O, .Net applications (todo)...) - Graphe d'utilisation CPU/Mémoire/I-O par processus (à peaufiner dans l'affichage) - Gestion des privileges des processus (changement de status à corriger, actuellement désactivé) - Gestion des zones mémoires (l'HEX editor de mémoire arrivera plus tard) - Gestion des services par processus - Icones dans les menus - Monitoring des services créés/détruits avec info dans le tray (à peaufiner) - Création d'un fichier de log (clic droit sur le bouton Tray -> Show log) - Optimisation générale de récupération des infos grâce à une meilleure programmation OO (dissociation complète de l'IHM et des objets associés manipulés pour les listviews)
05 février 2009 18:55:49 :
- bug de dépassement de mémoire corrigé - bug lors du loading en mode non admin corrigé - form resizement mieux géré - suppression de lignes de code inutiles - correction bugs mineurs dans l'IHM - "display all processes" correctement géré - bug lors du téléchargement terminé corrigé - CPU usage correct (nbre processeurs pris en compte + bon formatage) - form pour informations générales sur le système - ajout GDI/User objects count - ajout de la possibilité de recherche un objet à monitorer - fichier de configuration directement dans le même dossier que l'exécutable
06 février 2009 18:58:21 :
- les options sont OK maintenant - possibilité de remplacer taskmgr (safe) - démarrage vraiment plus rapide - 'selected associated item' affiche l'item avec la méthode EnsureVisible - possibilité de sélectionner les services associés à des processus depuis lvProc - ajout onglet principal "Taches" - ajout des icones pour les fenêtres - nouveau compteur pour les processus (RunTime)
07 février 2009 15:14:59 :
- ajout fonction 'Terminer l'arborescence' - ajout fonction 'Fin de tache' (tasks tab terminé) - optimisation du rafraichissement de la liste des processus - correction de l'affichage de nouveaux processus avec plus de colonnes - monitoring de la création/destruction des services OK - suppression processus avec touche Delete - affinité pour les processus (form + compteur)
08 février 2009 18:42:08 :
- ajout de la fonction "find process's window" - ajout de la gestion des connections TCP/UDP ouvertes
08 février 2009 18:43:02 :
- ajout de la fonction "find process's window" - ajout de la gestion des connections TCP/UDP ouvertes
08 février 2009 18:50:24 :
Test
10 février 2009 18:13:26 :
- optimisation refresh informations sur les modules - grande optimisation du refresh informations sur les services - choix des colonnes pour les services - optimisations diverses (meilleure gestion des erreurs) - icones 32 bits - form pour voir les infos globales sur le système
12 février 2009 22:58:23 :
- nouvelle about form + licences - résolution DNS des connections TCP - nouveaux process en vert, process deleté en rouge - (enfin !!) une bonne récupération du username - reconstruction du code de gestion des taches - récupération de la charge CPU par tâche - affichage du CpuUsage par défaut pour les processus - tri temps réel des listviews process, task, service par colonne - correction diverses
18 février 2009 00:42:37 :
- GNU GPL 3.0 - récupération du handlecount - récupération des strings d'un processus (nouveau tab) (image et mémoire) - grande optimisation récupération liste des strings (à optimiser x100 encore) - recherche dans les strings récupérées (et sauvegarde du résultat) - récupération variables d'environnement - tray icon avec graphe d'utilisation CPU/mémoire - hex editor pour lire la mémoire - priorités des threads OK - gestion des privileges terminée - séparations des infos détaillées (nouvelle interface style Process Explorer) - double click lvTask -> processus associé - refresh temps réel des modules/threads/windows/regions mémoire/connexions réseaux - optimisation récupération des infos sur les modules - nouveau compteur pour les processus (pourcentage d'utilisation moyen) - ajout de la CommandLine pour les processus - ajout d'une form de gestion des fenêtres ouvertes par YAPM - nouvelle police de caractères
20 février 2009 13:52:20 :
- graphiques beaucoup mieux gérés - emergency hotkeys - toolitps + tabOrder - moyenne affichée dans les graphes - icones Fugue - refresh handles temps réel - plus d'infos sur les handles + option nommés ou pas - option fenêtres nommées ou pas - vérification (wintrust) des fichiers
20 février 2009 15:46:55 :
- compatibilité XP ok à nouveau - positions string en hexa - voir la position de la string en mémoire - meilleure gestion des zones mémoire - Module -> voir en mémoire
22 février 2009 13:49:51 :
- code refactoring -> optimisations globales - affichage temps réel de toutes les informations
22 février 2009 21:46:55 :
- bugs fixed
27 février 2009 18:41:43 :
- fermeture handle OK - meilleure performances (plus d'erreurs systématiquement levées -> tests pour les éviter) - sélection de colonnes pour tous les listviews - correction de bugs critiques
16 mars 2009 21:01:09 :
- shutdown/logoff fonctions - listview groupé pour le monitoring (plutôt que texte) - récupération d'à nouveau tous les services existants - infos CPU (form infos générales) OK (+ pourcentages) - optimisation récupération infos services (refresh que les services modifiés) - ajout log pour processus - suppression message avertissement admin - correction bug (clic sur module frmMain) - correction bugs recherche suite à la dernière MAJ (trouver les Windows, icones des processus...) - ajout affinité des threads - infos générales maintenant toutes correctes - download des informations sur un processus asynchrone - classement des items d'un listview par taille et par valeur hexa OK - affichage tailles formatées - optimisation refresh liste des zones mémoire - corrections bugs divers & orthographe - ajout rapport général - IHM -> ajout de la version 'menus classiques' - custom inputbox - nouvelles options & préférences - ajout de la fonction State Based Actions - ctrl+A, ctrl+C pour toutes les listviews - nouveaux compteurs disponibles dans la listview des processus (io counters) - affichage de l'historique de toutes les statistiques sur les processus
21 mars 2009 19:00:04 :
- 1 graphe par CPU OK - options de configuration des intervalles (tray & system infos) - start hidden OK - State Based Actions - Code refactoring (maintenant 2 dll en plus) - log ok (+ sauvegarde) - fonction state based action - compteur runTime dans form detail - projet mieux formé

Commentaires et avis

signaler à un administrateur
Commentaire de The Meteorologist le 02/01/2009 02:29:52 7/10

Pas mal, beaucoup de soin mais personnellement je trouve que cela ressemble plus à du VB6 que du VB.NET. Il n'y a presque pas de POO et tu utilises énormément de choses obsolètes tels que des modules, structures etc... Tu utilises presque uniquement l'espace de nom Microsoft.VisualBasic qui est censé être là juste pour garder la compatibilité avec VB6.

Aussi non, mis à part ça c'est très bien fait.

++

signaler à un administrateur
Commentaire de Le newbie le 02/01/2009 10:13:55 7/10

Salut,

Je suis assez d'accord avec les remarques de The Meteorologist et je vais ajouté un bug.

Tu as précisé qu'il fallait évidemment être loggé en admin (logique) pour utiliser ton code. Cependant as-tu fais la vérification que le compte loggé est bien l'admin ?
J'ai fais le test et je t'avoue que j'ai trouvé une belle exception.

Sinon j'aime bien l'interface et le concept. Merci : 7/10

signaler à un administrateur
Commentaire de violent_ken le 02/01/2009 10:18:53

Normal, beaucoup de code (la plupart ?) provient de VB6 ^^

Je sais que c'est moche, mais j'ai eu la flemme de tout recoder en OO lol, d'autant que c'est pas ce qu'il y a de plus rapide niveau temps d'exécution. Y a qu'à voir l'appel à Process.GetProcessById qui est horriblement lent mais que j'utilise quand même pour l'instant.

Il aurait fallut que je recode une classe Process entièrement, par soucis de temps de codage j'ai uniquement mis les fonctions qui auraient été statiques (enumerate..etc) dans un module mdlProcess, et j'ai entassé comme un sale tout ce qui avait un rapport avec un process dans le même module.

Mais par contre les structures j'ai pas toujours le choix (utilisation dans l'appel aux fonction API) et là je ne changerais pas de partout.


Tu as entièrement raison, je vais changer quelques trucs, c'est pas bien compliqué de rajouter la notion de classe, et çà sera moins bordelique.

@+

signaler à un administrateur
Commentaire de violent_ken le 02/01/2009 10:20:43

Le newbie -> Oui normalement il y a un test quelque part (lol) et c'est pas normal qu'il y ai une exception de levée.

J'ai testé à la va vite sur un XP virtualisé en non admin et çà marchait, qu'as tu comme OS et quel est le message ?

@+

signaler à un administrateur
Commentaire de Le newbie le 02/01/2009 10:33:53

Re,

Je suis sur XP Pro SP2 (mon professionnel donc légèrement bloqué, même si je connais le compte admin lol).

Pour les messages, j'en ai plusieurs (de toi je suppose au départ)
- You are not logged as an administrator, ....
- Préference file missing or corrupted, ...
- une msgbox please read this.
- l'exception : Impossible de trouver une partie du chemin d'accès .... pour le fichier config.xml.

Je te précise quand même que j'ai commencé par lancer le prog en non admin.

A+

signaler à un administrateur
Commentaire de violent_ken le 02/01/2009 10:43:01

Hum, le premier c'est normal (pas admin).

Le second indique que ton exe n'est pas au bon endroit (il ne trouve pas le fichier de préférences avec les chemins relatifs du coup il le recréé).

Le troisième est un readme standard.



En fait, c'est le second qui m'indique que tu as du soit :
- tester dans l'IDE en debug (et du coup c'est normal faut faire en release pour que l'exe soit dans le dossier correct)
- lancer l'exe hors de son dossier d'execution (dossier qui contient un dossier config, et quelques autres fichiers)

@+

signaler à un administrateur
Commentaire de Le newbie le 02/01/2009 11:04:12

Bien vu en fait j'ai lancé l'exe en debug et non en release. Autant pour moi.

A+ et bonne année au fait.

signaler à un administrateur
Commentaire de violent_ken le 02/01/2009 11:13:45

De rien, et bonne année également :-)

@+

signaler à un administrateur
Commentaire de violent_ken le 02/01/2009 13:01:06

Voilà un code un peu plus orienté objet...

Je réutilise des méthodes du framework (exemple SetAttributes dans cFile qui fait appel à IO.File.SetAttributes) de manière temporaire, certaines seront remplacées plus tard par des plus performantes.

@+

signaler à un administrateur
Commentaire de bouv le 02/01/2009 16:14:14

Sympa et joliment présenté.
Est-il possible d'obtenir les sources des controls Ribbon ?

Bonne prog
++

signaler à un administrateur
Commentaire de violent_ken le 02/01/2009 16:59:22

Moui bien sur, mais le code n'est pas de moi (MS public licence).
http://www.codeproject.com/KB/toolbars/WinFormsRibbon.aspx

@+

signaler à un administrateur
Commentaire de bouv le 02/01/2009 18:00:45

Merci pour l'info.

signaler à un administrateur
Commentaire de MadM@tt le 03/01/2009 22:46:54

Très joli en tout cas !
Les fonctionnalités sont déjà vues mais ont le mérite d'être (presque ?) toutes rassemblées, ce qui est un sacré boulot. On sent les vacances ;-)

signaler à un administrateur
Commentaire de violent_ken le 03/01/2009 23:09:04

Hey salut :-)

Oui effectivement on sent les vacances ;-)

Sinon il manque encore quelques fonctions, comme par exemple sur les threads et les fenêtres et çà sera à peu près rassemblé en .Net avec un mix API/Framework ^^

Après faut que je rajoute quelques fonctions perso, par exemple en ce moment je fais le "monitoring" à proprement parler : l'utiisateur ajoute un "compteur" personnalisé sur les informations qu'il veut, et on trace le graphe à partir de çà ; l'utilisateur peut librement visualiser l'évolution de son information en fonction de la date/heure choisie.

@+ ^^

signaler à un administrateur
Commentaire de draluorg le 04/01/2009 14:20:56

Salut a tous,

Ergonomie originale ^^
Ca me donnerait presque envie d'en faire un du genre en C (si quelqu'un connait un Rubban utilisable en C)

Pour la ListView, un petit SetWindowTheme s'impose ;)

Bonne continuation ;)

++

signaler à un administrateur
Commentaire de violent_ken le 04/01/2009 14:54:28

Salut,

pour SetWindowTheme je ne connais pas je vais jeter un coup d'oeil ^^

Sinon pour le ribbon malheureusement je ne connais pas l'équivalent pour du C.

@+

signaler à un administrateur
Commentaire de draluorg le 04/01/2009 15:22:50

re,

SetWindowTheme vas donner le theme de l'explorateur a la listview

tu fais SetWindowTheme(Lv.handle, "explorer")
Ca change le style de la sélection, ca fait comme la lv du taskmgr.

++

signaler à un administrateur
Commentaire de violent_ken le 04/01/2009 15:42:48

Re,

chez moi la listview possède déjà le style visuel de Vista sans avoir à rien faire ?
Idem pour mon XP virtualisé.

Tu es sous quel OS ?
@+

signaler à un administrateur
Commentaire de draluorg le 04/01/2009 15:49:13

je suis sous vista mais j'ai pas teste ton tool je me suis basé sur la capture.

En fait oui les columheaders sont bien au style vista, mais pas la selection...
Du moins d'apres ta capture d'ecran...

Pour comprendre ouvre le taskmgr sur l'onglet process et compare la selection a ta listview...

++

signaler à un administrateur
Commentaire de violent_ken le 04/01/2009 16:07:16

Oui tu as entièrement raison, j'avais pas fait attention, les colonnes sont bien au bon style mais pas la sélection (?).

merci !
@+

signaler à un administrateur
Commentaire de violent_ken le 08/01/2009 19:44:51

Bonne MAJ :

1) Ajout de la fonction de monitoring (Monitoring complet de l'ensemble des objets Windows, identique à l'analyseur de performances dans perfmon.msc, avec gestion plus complète de l'échelle de temps).
Récupération des infos via la classe PerformanceCounter.

2) Optimisation des performances globales, et plus particulièrement de la récupération des informations sur les processus (abandon de la classe Process du framework .Net, utilisation d'API).

3) Correction diverses.


Par contre il y a un bug dans la récupération des attributs de processus :
- temps CPU
- start time
(mauvaise conversion de temps -> valeurs fausses)

A corriger plus tard :-)

signaler à un administrateur
Commentaire de violent_ken le 08/01/2009 19:45:45

Ah oui mince j'ai oublié : je n'ai pas réussi à utiliser SetWindowTheme, je ne peux que désactiver complètement le thème (pas le changer).
@+

signaler à un administrateur
Commentaire de MadM@tt le 08/01/2009 19:55:31 10/10

Au passage ça mérite plus qu'un 7 !

signaler à un administrateur
Commentaire de xarsoft le 09/01/2009 21:44:43 10/10

tres bien je vais maintenant testé

signaler à un administrateur
Commentaire de violent_ken le 10/01/2009 18:09:41

MadM@tt -> Merci lol ^^

MAJ : gestion complète des threads des processus (priorité, pause/resume/kill, informations disponibles par le framework.net)

@+

signaler à un administrateur
Commentaire de violent_ken le 11/01/2009 16:00:09

MAJ : ajout de la gestion complète des fenêtres ouvertes (manque juste les icones).

-> Toutes les fonctions générales sont désormais disponibles (sauf les jobs), il ne reste donc plus qu'à :
- faire les fonctions particulières manquantes (cf description)
- corriger les (nombreux) bugs
- optimiser le code + tests détaillés

@+

signaler à un administrateur
Commentaire de violent_ken le 18/01/2009 19:12:30

MAJ :
- Pleins pleins de bugs résolus
- ajout de nouvelles fonctions diverses
- peaufinements divers
- ajout de la production de rapports (sauf pour les processus et le monitoring)

@+

signaler à un administrateur
Commentaire de violent_ken le 01/02/2009 18:29:03

Grosse MAJ :

Notamment la récupération de nouvelles infos (privileges, I/O, plus de services et lien avec les processus).


Change log :
- Suppresion du setup (distribution de l'application par fichier zip)
- Simplification de l'IHM (suppression d'onglets/boutons inutiles/surchageant trop)
- Auto update avec téléchargement auto de la dernière version (bug trivial à corriger aux 100%)
- Choix des colonnes pour les processus (dbl click sur le listview -> premier refresh à peaufiner)
- Déchargement modules OK
- Sauvegarde de rapports OK pour preque tous
- Meilleure interface (zones redimensionnables)
- Meilleure gestion des services (plus de services listés, plus d'informations, processus du service récupéré)
- Toutes les fonctions sur la gestion des fichiers sont désormais disponibles
- Recherche plus rapide
- Optimisation de l'affichage (plus aucun scintillements et temps plus cours de remplissage des listviews)
- Très (très très) nombreux bugs résolus
- Nouvelle interface pour les processus (zone 'détails' en bas, détachable dans le futur)
- Récupération de nouvelles stats pour les processus (informations d'I/O, .Net applications (todo)...)
- Graphe d'utilisation CPU/Mémoire/I-O par processus (à peaufiner dans l'affichage)
- Gestion des privileges des processus (changement de status à corriger, actuellement désactivé)
- Gestion des zones mémoires (l'HEX editor de mémoire arrivera plus tard)
- Gestion des services par processus
- Icones dans les menus
- Monitoring des services créés/détruits avec info dans le tray (à peaufiner)
- Création d'un fichier de log (clic droit sur le bouton Tray -> Show log)
- Optimisation générale de récupération des infos grâce à une meilleure programmation OO (dissociation complète de l'IHM et des objets associés manipulés pour les listviews)
- ....

@+

signaler à un administrateur
Commentaire de violent_ken le 05/02/2009 18:57:04

MAJ :

Notamment la stabilité du logiciel (plus de crash après longue utilisation !)
Passage en beta 3.

- bug de dépassement de mémoire corrigé
- bug lors du loading en mode non admin corrigé
- form resizement mieux géré
- suppression de lignes de code inutiles
- correction bugs mineurs dans l'IHM
- "display all processes" correctement géré
- bug lors du téléchargement terminé corrigé
- CPU usage correct (nbre processeurs pris en compte + bon formatage)
- form pour informations générales sur le système
- ajout GDI/User objects count
- ajout de la possibilité de recherche un objet à monitorer
- fichier de configuration directement dans le même dossier que l'exécutable

signaler à un administrateur
Commentaire de violent_ken le 06/02/2009 19:00:27

MAJ :

Logiciel complètement stable (sauf défauts de page un peu abusés !)

- ajout onglet principal "Taches"
- démarrage vraiment bien plus rapide qu'avant
- les options sont toutes OK maintenant
- possibilité de remplacer taskmgr par YAPM (safe)
- 'selected associated item' affiche l'item avec la méthode EnsureVisible
- possibilité de sélectionner les services associés à des processus depuis lvProc
- ajout des icones pour les fenêtres
- nouveau compteur pour les processus (RunTime)

@+

signaler à un administrateur
Commentaire de bouv le 06/02/2009 19:45:41 10/10

Quel rythme !
Question : Peut-on comme avec le taskmgr terminer l'arborescence d'un processus ?

signaler à un administrateur
Commentaire de violent_ken le 06/02/2009 22:33:26

Salut !

En fait actuellement je planche sur un système d'affichage des processus sous forme de contrôle hybride TreeView/ListView (en gros un listview hierarchisé par liens de parentés, avec collapse/extend, comme dans 'process explorer').
Du coup je voulais implémenter cette fonction quand ce contrôle aurait été prêt (terminer l'arborescence d'un process au final est surtout pratique quand on voit graphiquement tous les child items à tuer), mais effetivement taskmgr offre la possibilité de le faire bien qu'on ne connaisse pas aisément les parentés entre processus (simple listview).

Bon bref du coup je l'implémente, si taskmgr le permet, y a pas de raison ^^

Merci, @+

signaler à un administrateur
Commentaire de violent_ken le 06/02/2009 23:33:56

J'ai ajouté la fonction, elle appaitra dans la prochaine MAJ

Si tu as d'autres remarques de ce type (nouvelles fonctions... etc), je suis vraiment preneur !

@+

signaler à un administrateur
Commentaire de bouv le 07/02/2009 09:42:07

Parfait !
Encore félicitation à toi, il est rare de trouver des sources aussi complètes, et mises à jour aussi fréquemment.
Une fois postées, elles sont en général laissées à l'abandon.

Sinon, je ne vois pas encore l'utilité mais le taskmgr permet de définir sur quel core du proco un processus doit travailler (cf "Définir l'affinité").

signaler à un administrateur
Commentaire de violent_ken le 07/02/2009 12:23:05

Oui, effectivement, çà m'est arrivé de plus ou moins abandonner des sources ^^
Mais pour une fois je vais essayer de terminer complètement ce projet !

Sinon pour l'affinité, l'option est grisée pour le moment (clic droit sur un processus), mais le code est presque terminé. En fait j'ai le code VB6 fonctionnel correspondant, je suis en train de le convertir proprement ^^

@+

signaler à un administrateur
Commentaire de violent_ken le 07/02/2009 15:15:44

- ajout fonction 'Terminer l'arborescence'
- ajout fonction 'Fin de tache' (tasks tab terminé)
- optimisation du rafraichissement de la liste des processus
- correction de l'affichage de nouveaux processus avec plus de colonnes
- monitoring de la création/destruction des services OK
- suppression processus avec touche Delete
- gestion de l'affinité pour les processus (form + compteur)

signaler à un administrateur
Commentaire de bouv le 07/02/2009 17:26:34

Bien joué !

signaler à un administrateur
Commentaire de violent_ken le 08/02/2009 18:45:41

1) ajout de la fonction "find process's window" -> Exactement comme avec Process Explorer de sysinternals, on peut sélectionner par survol les fenêtres ouvertes et récupérer le processus associé (affichage d'un rectangle autour de la fenêtre survolée).

2) ajout de la gestion des connections TCP/UDP ouvertes par les processus (à améliorer dans le future, pour l'instant très basique mais fonctionnel).

signaler à un administrateur
Commentaire de draluorg le 08/02/2009 23:00:12

Re moi,

Bravo pour toutes ces maj!

Histoire de chipoter encore un peu sur des détails, n'aurais tu pas oublié de mettre ton imagelist sur couleur 32bits ?

++

signaler à un administrateur
Commentaire de violent_ken le 08/02/2009 23:18:50

!! Cà c'est pas faux ! Je m'disais bien aussi que certaines icones étaient un peu moches :-p
Raah mais pourquoi les imagelist sont elles 8-bits par défaut ??

Merci bien ^^


@+

signaler à un administrateur
Commentaire de violent_ken le 10/02/2009 18:15:50

MAJ :

- bonne optimisation du refresh des informations sur les modules
- grande optimisation du refresh des informations sur les services (+ nouvelles informations disponibles)
- choix des colonnes pour les services (à perfectionner, quelques bugs)
- optimisations diverses (meilleure gestion des erreurs notamment)
- icones 32 bits (^^)
- form pour voir les infos globales sur le système (infos CPU un peu daubées, et graphes à perfectionner)

@+

signaler à un administrateur
Commentaire de violent_ken le 12/02/2009 23:04:07

MAJ :

- nouvelle about form + licences des codes utilisés qui sont pas dans le domaine public (ribbon + icones pas encore utilisées mais bientôt intégrées)
- adresses remote des connexions TCP ajoutée
- résolution DNS asynchrone des connexions TCP ouvertes (oh yeah c'est plus intéressant qu'une IP)
- nouveaux process en vert, process deleté en rouge (idem pour tasks et connexions)
- (enfin !!) une bonne récupération du username des processus (avec domaine en prime)
- reconstruction globale du code de gestion des taches (nouvelle classe héritant de cWindows)
- récupération de la charge CPU par tâche
- affichage du CpuUsage par défaut pour les processus
- tri temps réel des listviews process, task, service (par colonne)
- corrections diverses
- optimisation du démarrage de l'application (suppression de refresh inutiles)


Et aussi, passage de la solution à une version 10 (avec Visual Studio 2008).

Pour utiliser la version 2005 de VS, changer dans le fichier solution :
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
par :
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005

et çà devrait fonctionner.
@+

signaler à un administrateur
Commentaire de violent_ken le 18/02/2009 00:44:36

Grosse MAJ :

Notamment :
- GNU GPL 2.0 -> 3.0
- éditeur hexa intégré pour lire la mémoire
- GUI comme Process Explorer de Sysinternals (détails sur un process dans une vue séparée)



Changelog complet :
- GNU GPL 3.0
- récupération du handlecount
- récupération des strings d'un processus (nouveau tab) (image et mémoire)
- grande optimisation récupération liste des strings (à optimiser x100 encore)
- recherche dans les strings récupérées (et sauvegarde du résultat)
- récupération variables d'environnement
- tray icon avec graphe d'utilisation CPU/mémoire
- hex editor pour lire la mémoire
- priorités des threads OK
- gestion des privileges terminée
- séparations des infos détaillées (nouvelle interface style Process Explorer)
- double click lvTask -> processus associé
- refresh temps réel des modules/threads/windows/regions mémoire/connexions réseaux
- optimisation récupération des infos sur les modules
- nouveau compteur pour les processus (pourcentage d'utilisation moyen)
- ajout de la CommandLine pour les processus
- ajout d'une form de gestion des fenêtres ouvertes par YAPM
- nouvelle police de caractères

@+

signaler à un administrateur
Commentaire de violent_ken le 20/02/2009 14:02:31

MAJ :

- emergency hotkeys (raccourcis à affecter pour faire des tâches urgente. Par exemple, mettre Ctrl+Alt+Echap pour détruire le processus dont la fenêtre est actuellement active. Les actions associées sont à implémenter dans le code.)
- graphiques beaucoup mieux gérés
- toolitps + tabOrder
- moyenne affichée dans les graphes
- icones Fugue
- refresh handles temps réel
- plus d'infos sur les handles + option nommés ou pas
- option fenêtres nommées ou pas
- vérification (wintrust) des fichiers

@+

signaler à un administrateur
Commentaire de MadM@tt le 20/02/2009 15:27:09

Impressionnant, un peu usine à gaz mais vu la quantité d'infos on peut pas tout avoir.

Juste une petite faute d'orthographe dans le menu contextuel des processus ("priotiy")
Au niveau des icônes des fichiers et fenêtres, je sais pas comment tu les récupère mais ils sont dessinés sur un fond noir (le canal alpha est aplati sur un fond noir), ce qui rend moyen. Je sais que c'est possible de s'en passer, soit d'une façon bourrine en dessinant l'icône dans une pbx à fond blanc, soit en gérant mieux ce canal avec les api mais je sais pas comment faire (mais je suis presque sur de l'avoir vu qqpart).
Quand je l'utilise j'ai de temps en temps un processus "services.exe" qui se met à 100% du CPU pendant 1 seconde environ, ce qui gèle ton appli pendant cette durée. Je sais pas si ça vient de ton appli ou de mon ordi mais je n'ai experiencé ça qu'avec ton appli.

signaler à un administrateur
Commentaire de violent_ken le 20/02/2009 15:48:02

Salut, oui effectivement c'est de plus en plus usine à gaz... Mais bon, j'assume ;-)

Sinon pour les icones, je n'ai pas de problème sous Vista ni même avec XP SP3 virtualisés ? C'est dans quelle fenêtre que çà le fait ?

Idem pour services.exe. Cà le fait combien de fois ? (périodique, sporadique ?) Et à quel moment (loading de l'appli ou ?)

@+ et merci pour ces infos (tu as quel OS ?)



(Au passage une MAJ, je viens de m'apercevoir que çà crashait sous XP à cause de fonctions de Kernel32 dispos uniquement sous Vista).
- compatibilité XP ok à nouveau
- positions string en hexa
- voir la position de la string en mémoire
- meilleure gestion des zones mémoire
- Module -> voir en mémoire

signaler à un administrateur
Commentaire de MadM@tt le 20/02/2009 16:03:35

Je suis sur WinXP SP2.
Pour services.exe c'est périodiquement toutes les 10-15 secondes environ.
Et pour les icones, c'est pour tous les icones qui ont un canal alpha j'ai l'impression (firefox par exemple, icone de dossier, l'icone de ton appli). Ça le fait pas pour l'icone d'une form VB6 par exemple, ou pour un icone qui était fait pour windows 98. Mais le noir, c'est pas tout le fond, c'est juste pour les endroits ou y'a de la transparence avec un pourcentage. Bref j'espère que je suis clair ^^

signaler à un administrateur
Commentaire de violent_ken le 20/02/2009 16:33:59

Salut, alors pour les icones franchement je ne vois pas. Ce que tu m'as dis est parfaitement clair, mais chez moi çà ne le fait jamais... (Vista ou XP Sp3). Cà m'étonnerais que ce soit le SP2 qui soit en cause (quoique ?).

Sinon pour services.exe, il est sollicité périodiquement effectivement : en fait à chaque refresh complet de la liste des services (toutes les 25 secondes par défaut). Cette partie de code est à optimiser assez largement, mais 100% c'est assez étrange quand même... ??

Chez moi voilà ce que çà fait :
http://ups.imagup.com/02/1235164883_mad.png

Je suis à quelques % maximum de manière périodique.

@+

signaler à un administrateur
Commentaire de MadM@tt le 20/02/2009 16:48:18

Ok c'est surement les 25 secondes, mais je comprends pas pourquoi ça rame pourtant le processeur passe bien de 800 à 1800 Mhz pendant le pic, je suis pas en économie d'énergie.

Concernant les icones, effectivement tu n'as pas le problème, je me pose d'ailleurs une question : dans les propriétés système il me dit que j'ai Windows XP SP2, pourtant j'utilise bien windows update et donc normalement je devrais avoir le SP3 (je crois même l'avoir installé un jour). Bref, aucune idée...

C'est ça qui est énervant quand on développe ce genre d'appli, les utilisateurs on toujours une merde sur ton appli qui vient surement d'une merde qu'ils ont fait, ou d'une merde qu'a fait un autre programme. Il faut se blinder, mais impossible de prévoir tous les coups. Si personne d'autre te fait la remarque laisse tomber, j'ai un système tellement moisi je ne le redémarre même plus (vive la veille prolongée) à chaque fois j'ai peur qu'il n'aille pas au bout, et il met 5 minutes. Bref je suis pas une référence il faudrait que je formate.

signaler à un administrateur
Commentaire de violent_ken le 20/02/2009 17:05:28

Clair, toujours un petit truc qui marche pas sur d'autres PC... Frustrant^^

Bah pour les 100% çà va disparaitre normalement comme problème, puisque de toutes façons faut que j'optimise franchement le refresh des services ^^

Et pi ben pour les icones, aucune idée, je garde en tête le problème, j'essayerais sur d'autres postes pour voir si çà le fait aussi.

Merci
@+

signaler à un administrateur
Commentaire de violent_ken le 22/02/2009 14:24:10

MAJ : toute la gestion du refresh des différentes listes (processus, services, taches, threads, modules, handles, fenêtres, zones mémoire, connexions réseau) a été repensée et recodée (meilleure programmation OO).

Il en résulte :
- meilleure gestion de la durée de vie des objets (et du coup pas d'ouverture/fermeture de handles à chaque refresh des process par exemple)
- consommation mémoire moindre
- refresh temps réel de toutes les listes dans un temps raisonnable (même les handles !)
- gestion des éléments nouveaux/détruits en couleur pour toutes les listes
- grande optimisation niveau usage CPU (exemple : le refresh des services prend 5 fois moins de temps environ)


Par exemple, la consommation CPU pour refresh les processus/tâches/connexions réseau toutes les secondes est environ du double de celle du taskmgr (donc correct).

Reste quelques bugs (notamment remplissage d'une liste en 2 temps pour le premier refresh).

@+

signaler à un administrateur
Commentaire de draluorg le 22/02/2009 14:46:15

Salut,

"pas d'ouverture/fermeture de handles à chaque refresh des process par exemple)"
Tu as besoin des handles pour raffraichir quoi au juste ?
Perso sur mon dernier process explorer je ne reouvre pas les process car pas besoin dans le sens ou les infos dynamique sont renvoyees dans la structure _SYSTEM_PROCESS
celle la meme que tu recupere avec NtQuerySystemInformation

A moins que tu n'utilise pas cette methode de listage ?

signaler à un administrateur
Commentaire de violent_ken le 22/02/2009 15:06:22

Salut,

en fait j'ai une classe cProcess qui ouvre un handle sur le process lors de l'instanciation, et le ferme lors du Finalize().

Le handle sert à plein de choses :
- kill/priority/resume/...
- readProcessMemory (CommandLine ou variables d'environnement par exemple)
Certes c'est inutile de conserver le handle pour ce type d'infos/actions (actions ponctuelles et readPM une seule fois car infos fixées), mais certaines infos changeante en ont besoin, comme :
- GDIObjects par exemple

Le handle est gardé ouvert en permanence.

Le problème dans la version précédente, c'est que des instances de cProcess étaient détruites (par le GC) et recrées à chaque refresh (car mauvaise gestion de la méthode de refresh), ce qui ouvrait/fermait les handles associés.
Maintenant elles sont créées qu'une une fois par processus (en théorie).

@+

signaler à un administrateur
Commentaire de draluorg le 22/02/2009 15:47:55

erf je me disais justement pourvu qu'il ne me sorte pas que c'est pour le GDIObjects :s

C'est en effet une des rares infos dynamique interessante qui necessite le handle
Perso mon choix serait de ne l'afficher qu'a la demande sur une zone de proprite par exemple.

L'avantage est que tu n'interroge plus les process (dans un timer) tu te sers juste des infos recuperees lors du listage, sauf si new process alors tu demandes les infos statiques
Enfin c'est un choix comme un autre, mon explorer n'a pas pour vocation d afficher bcp d infos mais de les afficher le plus legerement possible...

++

signaler à un administrateur
Commentaire de violent_ken le 22/02/2009 16:07:14

Satané GDIObjects :-)
Effectivement, c'est une solution (de n'afficher qu'à la demande).

M'enfin, dans la mesure ou j'utilise pas NtQuerySystemInformation (ou plutôt pas que), j'ai aussi besoin du handle pour autre chose ^^

Et de toutes façons, le temps CPU utilisé par mon appli est très principalement pris par la partie graphique (gestion propre des listview) et par la couche .Net. Donc je suis plus trop à çà prêt ^^


Cela étant, il est possible (je pense) de récupérer l'info GDIObjects d'une autre manière : ni taskmgr ni process explorer n'ont de handle de process ouvert (et ils affichent l'info pourtant).


Sinon ton process mgr est codé en C++ ?

@+

signaler à un administrateur
Commentaire de draluorg le 22/02/2009 19:12:01

Wai c'est clair que les listview mangent surement plus que de reinterroger les process...
Je ne sais pas trop ce que tu utilise comme methode pour le refresh, mais si tu stok les infos dans une structure pour comparer et ne modifier la listview que pour les infos differentes de celle affichees ca ne prend presque plus rien.
Mais bon je dis ca juste pour le plaisir d'échanger sur les differentes methodes possible, j'ai fais des tonnes de tools qui listent les process et je remets à chaque fois mes methodes en question afin d'obtenir le meilleur compromis.

Pour mon process mgr il est codé en C.

signaler à un administrateur
Commentaire de violent_ken le 22/02/2009 19:27:04

Pour le refreshs des listviews, je fais un truc assez compliqué, à base de 3 (ou 4) dictionnaires (Dictionnary).
Le but est de ne supprimer aucun item, juste rafraichir les subitems.

C'est le mieux que j'ai trouvé pour avoir
- un code générique
- OO
- pas trop lent
- qui permet de rajouter/supprimer des colonnes au listview
- qui permet d'afficher facilement les items qui viennent d'être ajoutés/supprimés

Il y a surement mieux mais c'est assez galère de trouver la solution la meilleure^^

@+

signaler à un administrateur
Commentaire de draluorg le 22/02/2009 19:34:11

Wai c'est exactement ça, pas facile de trouver la meilleur solution surtout qu'on est souvent tres seul face à nos choix :s
Des fois j'essai de demander a ma copine ce qu'elle en pense mais bon, ca m'aide rarement je dois dire! :)

signaler à un administrateur
Commentaire de violent_ken le 22/02/2009 20:03:50

Héhé oui j'imagine ;-)

@+

signaler à un administrateur
Commentaire de violent_ken le 27/02/2009 18:43:27

MAJ de stabilité notamment :

- fermeture handle OK
- meilleure performances (plus aucune erreur systématiquement levée -> tests pour les éviter)
- sélection de colonnes pour tous les listviews
- correction de bugs critiques

@+

signaler à un administrateur
Commentaire de violent_ken le 16/03/2009 21:03:54

MAJ conséquente (notamment historique des statistiques + log des processus + performances nettement améliorées) :

- shutdown/logoff fonctions
- listview groupé pour le monitoring (plutôt que texte)
- récupération d'à nouveau tous les services existants
- infos CPU (form infos générales) OK (+ pourcentages)
- optimisation récupération infos services (refresh que les services modifiés)
- ajout log pour processus
- suppression message avertissement admin
- correction bug (clic sur module frmMain)
- correction bugs recherche suite à la dernière MAJ (trouver les Windows, icones des processus...)
- ajout affinité des threads
- infos générales maintenant toutes correctes
- download des informations sur un processus asynchrone
- classement des items d'un listview par taille et par valeur hexa OK
- affichage tailles formatées
- optimisation refresh liste des zones mémoire
- corrections bugs divers & orthographe
- ajout rapport général
- IHM -> ajout de la version 'menus classiques'
- custom inputbox
- nouvelles options & préférences
- ajout de la fonction State Based Actions
- ctrl+A, ctrl+C pour toutes les listviews
- nouveaux compteurs disponibles dans la listview des processus (io counters)
- affichage de l'historique de toutes les statistiques sur les processus

La prochaine MAJ viendra dans très très peu de temps, se sera une Beta 4.

Ensuite viendra la RC1.

@+

signaler à un administrateur
Commentaire de violent_ken le 21/03/2009 19:15:13

MAJ (passage à la beta 5).
C'est la dernière version avant la RC1, toutes les fonctionnalités nécessaires à la release RC1 sont désormais disponibles.

Changelog détaillé :
- 1 graphe par CPU est OK
- options de configuration des intervalles (tray & system infos)
- start hidden OK
- ajout de la fonctionnalité State Based Actions (SBA), voir ci dessous
- Code refactoring (maintenant 2 dll en plus, et projet réorganisé)
- log ok (+ sauvegarde possible)
- compteur runTime dans form detail
- corrections de bugs
- encore des optimisations



Deux principaux points dans cette MAJ :
- refactoring du code (solution à 4 projets, le coeur applicatif est compilé en dll, les providers également) -> meilleure modularité
- ajout de la fonction SBA suite à la demande d'un utilisateur



La fonction SBA permet de lancer des commandes personnalisées (kill, changement de priorité, reboot du pc, lancement d'une commande via cmd, création d'un log, beep...25 disponibles au total) en fonction de l'état des processus (30 variables disponibles, comme la charge CPU, la priorité, la taille mémoire...).

Concrêtement, ceci permet par exemple :
- de réduire la priorité d'un processus dans c:\windows\ si il prend plus de x% du temps CPU
- créer un log si un processus prend plus de x Mo de mémoire
- tuer systématiquement tous les processus lancé par le processus explorer.exe
- changer l'affinité de Internet Explorer à son lancement
- éteindre le PC quand une application tourne depuis plus de x secondes
- ....

Cette fonction est donc extrêmement pratique, les applications sont nombreuses. Elle est unique, je connais pas d'autre logiciel la possédant. Mais elle est TRES DANGEREUSE. Imaginez que vous configuriez de tuer tous les processus localisés dans c:\*...
Du coup j'ai mis un mode simulation : quand la form de gestion des SBA est affichée, les SBA ne sont PAS ACTIVES pour de vrai, mais leur traitement est simulé et le résultat des règles est affiché dans une console (touche F2 pour l'afficher/masquer).

Donc je recommande de systématiquement activer la console de simulation et de vérifier que les règles ne font pas n'importe quoi. Ensuite, on ferme la form de configuration des SBA et les SBA sont lancées (elles se lancent également automatiquement à l'ouverture de l'application).

Bref, très utile (je pense !) mais pas safe donc gaffe !!!!
@+

signaler à un administrateur
Commentaire de violent_ken le 14/05/2009 21:24:38

Salut,

après de (très) nombreuses heures de code, la prochaine version est presque finie (il reste pas mal de bugs et de features à peaufiner, mais c'est fonctionnel et bien avancé).

Voici les 2 nouveautés les plus importantes :

- REMOTE MONITORING : monitoring des processus/services/modules/handles/threads/.../ distants, via WMI ou via un serveur. WMI est simplifié et offre la liste des process/services/modules/threads uniquement, mais le serveur permet TOUTES les fonctions disponibles en local.
Je crois bien que ce sera le seul logiciel à proposer cela, qui plus est gratuit et open source.

- application entièrement multi-threadée



et aussi :
- code refactoring avec utilisation des fonctions non documentées de Windows pour de meilleures performances (notamment pour les processus)
- plein de nouvelles informations disponibles sur quasiment tous les objets (process, services, threads...+ meta-counters)
- sauvegarde de toutes les préférences (colonnes, forms...)
- IHM avec un Orb à la Office 2007
....


Sinon le code est disponible maintenant via SVN :
svn co https://yaprocmon.svn.sourceforge.net/svnroot/yaprocmon yaprocmon


@+ (je posterais une nouvelle source je pense, car le code a vraiment entièrement été repris, plus rien à voir avec celui-là).

signaler à un administrateur
Commentaire de violent_ken le 17/05/2009 16:06:27

Première version avec la gestion des PC distants dispo ici :

http://www.vbfrance.com/codes/YET-ANOTHER-PROCESS-MONITOR-REMOTE-VERSION_50027.aspx

@+

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Fermer un service proprement [ par florentp ] Bonjour à tous,Je voudrai savoir comment on fait pour fermer proprement un Service. On fait comme pour un processus "normal" ou y a un autre moyen?En Process /Service [ par rmlp ] Je souhaiterai retrouver le service rattaché à un process sous Win NT4. (en language Visual basic 6)J'ai plusieurs process de même nom mais chacun est Tester présence d'un process + tester fin d'un process [ par lionel4 ] Voila je cherche deux trucs. Un code pour tester si un processus est en cours, et un autre pour detecter la fin d'un processus.Merci !Lionel4 - Débuta lancer une appli à distance avec winmgmts [ par centralvince ] Voilà, j'ai réussi à lancer un processus à distance comme cela :Set process = GetObject("winmgmts:{impersonationLevel=impersonate}!//ordianateur_dista 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 Aide icônes handle [ par LogOff ] Bonjour,je cherche à créer un substitut de ma barre des tâches de windows.j'ai déja trouvé comment hooker les messages système pour détecter l'ouvertu Process et threads en .NET [ par mastercatz ] Je voulais savoir comment on peut detecter la création d'un processus. Par exemple, dans mon prog a un moment il est question d'enregistrer le PID d'u Kill un process bien definie [ par ImmortalPC ] Salut,Déjà sachez que je connais très peu le VB.Ma question est comment tuer un processus bien definie?Pour l'exemple le processus sera Processus et Windows CE [ par tfrancais ] Est-ce qu'il est possible de contrôler le nombre de scession pour une applications sous Windows CE comme on peut le faire sous Windows avec ces q droit sur service nt [ par PBDLpc ] bonjour à tous, j'ai développé un service NT qui n'apparait pas dans la liste des applications du gestionnaire de taches de windows xp


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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,468 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é.