Ecrire dans le journal des evenements (methode 3)

Soyez le premier à donner votre avis sur cette source.

Vue 12 395 fois - Téléchargée 1 205 fois

Description

Cet exemple permet d'ajouter des messages dans le journal des événements, d'en choisir la source (Event source) et le numéro (EventID). Le code utilise une dll (msgfile.dll) qui référence des messages libres.

Pour ajouter un événement dans le journal des événements le code procède aux étapes suivantes :
- Inscrire dans le registre le nom de l'application et la source des messages.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\Mon appli
la source du message est un exécutable ou une dll qui intègre dans son fichier ressources les 'Messages Files' à afficher.

- appeler ReportEvent pour inscrire un message dans un journal

Le fichier msgfile.dll fourni avec ce code permet d'inscrire des messages libres dans le journal des applications dont le numéro (EventID) est compris entre 0 et 9999. Cette dll de 128Ko intègre uniquement des messages destinés au journal des événements.

Pour les plus expérimentés, un fichier 'Message Files.rtf' explique comment créer cette dll.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Joccy Messages postés 7 Date d'inscription jeudi 3 décembre 2009 Statut Membre Dernière intervention 2 août 2011
23 juil. 2010 à 11:37
Joccy Messages postés 7 Date d'inscription jeudi 3 décembre 2009 Statut Membre Dernière intervention 2 août 2011
23 juil. 2010 à 09:07
bonjour,
je serais intéressée par la méthode 4 (sans passer par une DLL) ...
Pouvez-vous me dire comment faire ?
Merci.
cs_Fellow Messages postés 1 Date d'inscription vendredi 14 mars 2003 Statut Membre Dernière intervention 18 juillet 2007
18 juil. 2007 à 11:50
génial, exactement ce que je cherchais, ça fonction parfaitement ! merci
JuanedaEr Messages postés 15 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 9 août 2007
28 juin 2006 à 08:46
Merci Thierry,
J'ai déjà réalisé le même programme qui s'affranchit de la dll. Comme tu le décris, il suffit de rattacher le fichier .res contenant les messages à l'exécutable VB. La procédure de création de la dll passant par la création du fichier .res, il n'est pas bien compliqué de le récupérer au passage. Je publierais l'exemple sous le nom 'ECRIRE DANS LE JOURNAL DES EVENEMENTS (METHODE 4)'.
L'utilisation de la dll a toutefois un avantage. Si celle ci est placée dans le dossier %system32% elle est disponible pour tous les programmes VB. Y compris ceux qui sont exécutés à distance. Le journal des événements extrait les messages (de la dll ou du prog vb) lors de la lecture du journal. S'il ne trouve pas la source contenant le message (dll ou prog vb) il affichera le message ?Impossible de trouver la description...?
thierrydelepine Messages postés 521 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 septembre 2008 6
27 juin 2006 à 21:03
Désolé, j'avais regardé ton code rapidement, je rectifie donc se que j'ai dis.
Lorsque j'avais fait des recherches sur ce probleme : d'ecrire dans l'Event Viewer mais sans le fameux message d'erreur (la description de l'ID ....), j'avais trouvé une info, sans pouvoir la mettre en application, qu'il etait possible de se servir du fichier ressource de VB et ainsi au lieu de referencer une DLL dans le registre, de referencer directement son EXE VB, puisque c'est lui qui contiend alors les messages pour le journal des evenements.
Je pense que tu n'est vraiment pas loin ...
Si j'ai un peu de temps j'essayerai de reprendre un peu ça moi aussi car tu as trouvé des infos tres interressantes sur le fonctionnement et sa structure.
J'espere que j'ai été assez clair.
en tout cas ton boulot vaut bien un 10
Afficher les 7 commentaires

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.