Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment lire un journal d'évènement Windows via un programme VB

4 réponses
Avatar
David POMMIER
Bonjour,

Je voudrai écrire un programme en VB qui soit capable de lire les journaux
d'évènements de Windows : Application et Système principalement (.evt) afin
d'envoyer des alertes sur une console si des évènements de type "Erreur" ou
"Avertissement" se produisent sur un PC.

J'ai cherché du côté des API et j'ai trouvé les fonctions suivantes :
OpenEventLog, CloseEventLog, BackupEventLog, ClearEventLog,
GetNumberOfEventLogRecords, GetOldestEventLogRecord et ReportEvent.

Mais je ne trouve pas de fonctions qui me permette de balayer le contenu
d'un fichier d'évènement, comme le fait l'observateur d'évènement de Windows
par exemple.

J'utilise VB 6 avec le SP5.
Merci d'avance pour votre aide.

4 réponses

Avatar
ng
Salut,

As-tu essayé l'API ReadEventLog ?

Public Declare Function ReadEventLog Lib "advapi32.dll" Alias
"ReadEventLogA" (ByVal hEventLog As Long, ByVal dwReadFlags As Long, ByVal
dwRecordOffset As Long, lpBuffer As EVENTLOGRECORD, ByVal
nNumberOfBytesToRead As Long, pnBytesRead As Long, pnMinNumberOfBytesNeeded
As Long) As Long


En utilisant cette structure :

Public Type EVENTLOGRECORD
Length As Long
Reserved As Long
RecordNumber As Long
TimeGenerated As Long
TimeWritten As Long
EventID As Long
EventType As Integer
NumStrings As Integer
EventCategory As Integer
ReservedFlags As Integer
ClosingRecordNumber As Long
StringOffset As Long
UserSidLength As Long
UserSidOffset As Long
DataLength As Long
DataOffset As Long
End Type




--
Nicolas.
http://www.ngsoft-fr.com
"David POMMIER" a écrit dans le message de news:

Bonjour,

Je voudrai écrire un programme en VB qui soit capable de lire les journaux
d'évènements de Windows : Application et Système principalement (.evt)


afin
d'envoyer des alertes sur une console si des évènements de type "Erreur"


ou
"Avertissement" se produisent sur un PC.

J'ai cherché du côté des API et j'ai trouvé les fonctions suivantes :
OpenEventLog, CloseEventLog, BackupEventLog, ClearEventLog,
GetNumberOfEventLogRecords, GetOldestEventLogRecord et ReportEvent.

Mais je ne trouve pas de fonctions qui me permette de balayer le contenu
d'un fichier d'évènement, comme le fait l'observateur d'évènement de


Windows
par exemple.

J'utilise VB 6 avec le SP5.
Merci d'avance pour votre aide.




Avatar
David POMMIER
Bonjour,¨
Pour commencer merci pour les informations à propos de cette API que je ne
connaissais pas.
Je ne voudrai pas abuser mais pourriez-vous m'indiquer où je pourrai trouver
de la documentation sur cette API ?
Mon site de prédilection pour les API's est "ALLAPI.NET" mais je ne trouve
aucune info (aucun exemple) sur l'utilisation de cette API.
Peut-être connaissez-vous en exemple de code source en VB qui mette cette
API en pratique ?
Merci d'avance :-)

"ng" a écrit dans le message de
news:
Salut,

As-tu essayé l'API ReadEventLog ?

Public Declare Function ReadEventLog Lib "advapi32.dll" Alias
"ReadEventLogA" (ByVal hEventLog As Long, ByVal dwReadFlags As Long, ByVal
dwRecordOffset As Long, lpBuffer As EVENTLOGRECORD, ByVal
nNumberOfBytesToRead As Long, pnBytesRead As Long,


pnMinNumberOfBytesNeeded
As Long) As Long


En utilisant cette structure :

Public Type EVENTLOGRECORD
Length As Long
Reserved As Long
RecordNumber As Long
TimeGenerated As Long
TimeWritten As Long
EventID As Long
EventType As Integer
NumStrings As Integer
EventCategory As Integer
ReservedFlags As Integer
ClosingRecordNumber As Long
StringOffset As Long
UserSidLength As Long
UserSidOffset As Long
DataLength As Long
DataOffset As Long
End Type




--
Nicolas.
http://www.ngsoft-fr.com
"David POMMIER" a écrit dans le message de news:

> Bonjour,
>
> Je voudrai écrire un programme en VB qui soit capable de lire les


journaux
> d'évènements de Windows : Application et Système principalement (.evt)
afin
> d'envoyer des alertes sur une console si des évènements de type "Erreur"
ou
> "Avertissement" se produisent sur un PC.
>
> J'ai cherché du côté des API et j'ai trouvé les fonctions suivantes :
> OpenEventLog, CloseEventLog, BackupEventLog, ClearEventLog,
> GetNumberOfEventLogRecords, GetOldestEventLogRecord et ReportEvent.
>
> Mais je ne trouve pas de fonctions qui me permette de balayer le contenu
> d'un fichier d'évènement, comme le fait l'observateur d'évènement de
Windows
> par exemple.
>
> J'utilise VB 6 avec le SP5.
> Merci d'avance pour votre aide.
>
>




Avatar
ng
Salut,

Regarde sur http://groups.google.fr/ avec une recherche du style :
ReadEventLog group:*vb*

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

David POMMIER wrote:
Bonjour,¨
Pour commencer merci pour les informations à propos de cette API que
je ne connaissais pas.
Je ne voudrai pas abuser mais pourriez-vous m'indiquer où je pourrai
trouver de la documentation sur cette API ?
Mon site de prédilection pour les API's est "ALLAPI.NET" mais je ne
trouve aucune info (aucun exemple) sur l'utilisation de cette API.
Peut-être connaissez-vous en exemple de code source en VB qui mette
cette API en pratique ?
Merci d'avance :-)

"ng" a écrit dans le message de
news:
Salut,

As-tu essayé l'API ReadEventLog ?

Public Declare Function ReadEventLog Lib "advapi32.dll" Alias
"ReadEventLogA" (ByVal hEventLog As Long, ByVal dwReadFlags As Long,
ByVal dwRecordOffset As Long, lpBuffer As EVENTLOGRECORD, ByVal
nNumberOfBytesToRead As Long, pnBytesRead As Long,
pnMinNumberOfBytesNeeded As Long) As Long


En utilisant cette structure :

Public Type EVENTLOGRECORD
Length As Long
Reserved As Long
RecordNumber As Long
TimeGenerated As Long
TimeWritten As Long
EventID As Long
EventType As Integer
NumStrings As Integer
EventCategory As Integer
ReservedFlags As Integer
ClosingRecordNumber As Long
StringOffset As Long
UserSidLength As Long
UserSidOffset As Long
DataLength As Long
DataOffset As Long
End Type




--
Nicolas.
http://www.ngsoft-fr.com
"David POMMIER" a écrit dans le message de
news:
Bonjour,

Je voudrai écrire un programme en VB qui soit capable de lire les
journaux d'évènements de Windows : Application et Système
principalement (.evt) afin d'envoyer des alertes sur une console si
des évènements de type "Erreur" ou "Avertissement" se produisent
sur un PC.

J'ai cherché du côté des API et j'ai trouvé les fonctions suivantes
: OpenEventLog, CloseEventLog, BackupEventLog, ClearEventLog,
GetNumberOfEventLogRecords, GetOldestEventLogRecord et ReportEvent.

Mais je ne trouve pas de fonctions qui me permette de balayer le
contenu d'un fichier d'évènement, comme le fait l'observateur
d'évènement de Windows par exemple.

J'utilise VB 6 avec le SP5.
Merci d'avance pour votre aide.






Avatar
Zoury
Salut David! :O)

pour les API win32, il n'y a rien de mieux qu'MSDN..

ReadEventLog
http://msdn.microsoft.com/library/en-us/debug/base/readeventlog.asp



pour ce qui est de trouver des exemples...

- il y a google
http://groups.google.com/groups?as_q=ReadEventLog&ie=UTF-8&oe=UTF-8&as_ugroup=*.vb.*&lr=&num0&hl=fr

- et pleins de sites... en voici un parmi tant d'autre.. ;O)
http://www.mvps.org/st-software/api_usage.htm

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous