Comment faire un monitoring du registre (exemple : monitorer la création/destruction des services)

Soyez le premier à donner votre avis sur cette source.

Vue 6 455 fois - Téléchargée 484 fois

Description

Bonjour à tous,

voilà un code assez court pour permettre de monitorer le registre, c'est à dire détecter les modifications apportées au registre.

La méthode utilisée est assez simple (à base d'API windows (CreateEvent) et de multithreading).

Bon, rien de plus à dire si ce n'est que je l'ai fait à la va vite quand même :-)

Au fait, la liste des services ne sert vraiment à rien !

Source / Exemple :


' Create monitoring for services
cReg = New cRegMonitor(cRegMonitor.KEY_TYPE.HKEY_LOCAL_MACHINE, SERVICE_REG_PATH, _
        cRegMonitor.KEY_MONITORING_TYPE.REG_NOTIFY_CHANGE_NAME)

' Events of my class
Private Sub keyAdded(ByVal k As cRegMonitor.KeyDefinition) Handles cReg.KeyAdded
    news(k.name)
End Sub

Private Sub keyDeleted(ByVal k As cRegMonitor.KeyDefinition) Handles cReg.KeyDeleted
    dels(k.name)
End Sub

Conclusion :


Comment tester ? Démarrer un programme qui créé/supprime dynamiquement un service à son chargement/déchargement.

Ou bien simuler la création d'une clé dans le registre : HKLM\SYSTEM\CurrentControlSet\Services (ajouter une sous clé).

Bon ne me parlez pas de Timers pour checker le registre à intervalle de temps régulier, c'est une méthode vraiment nulle, tout l'intérêt de cette source est de ne pas procéder ainsi.

@+

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
11
Date d'inscription
jeudi 1 septembre 2005
Statut
Membre
Dernière intervention
1 avril 2011

"Bien, heureusement qu'il reste encore quelque aficionados du vb"
exact. je vois pas pourquoi le c# serait plus noble que le vb.net. la vieille rengaine 'vb pas professionnel par rapport à c++' (inexacte déjà) n'a plus lieu d'etre surtout avec vstudio qui permet de mixer le c# et le vb.net. d'ailleurs ma boite (bouygues tel) utilise aussi bien l'un que l'autre (bouygues tel). par ex, migrer du code vb en vb.net est bcp + rapide et sûr que de refaire les algos en c# (et les tester ds tous les sens)
le "c# only" est un effet de mode, j'espère que ca passera et qu'on reviendra à la raison: avec dotnet, c# et vb.net sont tous les 2 des bons langages. vb.net est un langage 200% professionnel (et c'est dur de faire passer partout ce message...)
sinon à force de penser comme ca, on va faire disparaitre un langage qui a de gdes qualités (souplesse, clarté du code -au bout de 15 accolades fermantes ca devient iilisible-, productivité et gde accessibilité aux débutants, unité avec ms office -j'imagine mal des utilisateurs lambda faire des macros en c# !-, etc..., etc...)


merci viloent_ken pr ce code (utile et en vb.net), ca va me donner une bonne base pour faire un prog pr recuperer les changement ds toute la base de registre (les prog existants ds ce domaine sont nuls -filtrages trop rudimentaire => des tonnes d'evts de modification arrivent en permanence-)
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
1
héhé en effet oui ^^

@+
Messages postés
4525
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
9
Bien, heureusement qu'il reste encore quelque aficionados du vb pour nous donner envie de continuer :p
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
1
Mwarf, je viens de voir que j'ai laissé trainé une licence GNU GPL 2.0 en tête des classes...

Considérez que le code n'a pas de licence (domaine public).

@+

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.