Petite appli permettant de récupérer la liste des entrées du journal pour l'outil chkdsk.
Source / Exemple :
using System;
using System.Collections;
using System.Diagnostics;
namespace CHKDSKLogViewer
{
public class ChkDskLogEntry
{
private const string EVENTSOURCE = "Winlogon"; // la source de l'event
private const int EVENTID = 1001; // l'ID de l'event
public ChkDskLogEntry( EventLogEntry entry )
{
m_date = entry.TimeGenerated;
m_message = entry.Message;
}
#region Champs
private DateTime m_date;
private string m_title;
private string m_message;
#endregion
#region Propriétés
/// <summary>
/// Obtient la date et l'heure de l'entrée.
/// </summary>
public DateTime Date
{
get
{
return m_date;
}
}
/// <summary>
/// Obtient le message de l'entrée.
/// </summary>
public string Message
{
get
{
return m_message;
}
}
/// <summary>
/// Obtient le titre de l'entrée.
/// </summary>
public string Title
{
get
{
// extrait le titre du message si ce n'est déjà fait.
if ( m_title == null )
SetTitle();
return m_title;
}
}
#endregion
#region Méthodes private
/// <summary>
/// Défini le titre à partir du message.
/// </summary>
private void SetTitle()
{
// titre = 1ere ligne du message
int index = m_message.IndexOf(Environment.NewLine);
if ( index == -1)
index = m_message.IndexOf("\n");
m_title = m_message.Substring(0, m_message.IndexOf(Environment.NewLine));
}
#endregion
#region Méthodes public (static)
/// <summary>
/// Récupère un tableau contenant la liste des entrées de chkdsk dans le log.
/// </summary>
/// <returns></returns>
public static ChkDskLogEntry[] GetEntries()
{
EventLog log = new EventLog("Application");
ArrayList entries = new ArrayList();
foreach(EventLogEntry entry in log.Entries)
{
if ( entry.EventID == EVENTID && entry.Source == EVENTSOURCE)
{
entries.Add(new ChkDskLogEntry(entry));
}
}
return (ChkDskLogEntry[])entries.ToArray(typeof(ChkDskLogEntry));
}
#endregion
}
}
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.