C#でイベントログの内容を削除します。
環境:Vista, .NET Framework 3.5, Visual Studio 2008
イベントログの内容を削除する場合は、EventLog オブジェクトの Clear メゾットを使います。
System.Diagnostics.EventLog evtlog =
new System.Diagnostics.EventLog(logName);
evtlog.Clear();
リモートコンピュータにあるイベントログの内容を削除する場合は、コンピュータ名を追加で指定してください。
System.Diagnostics.EventLog evtlog =
new System.Diagnostics.EventLog(logName, machineName);
サンプルコード
using System;
using System.Windows.Forms;
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string logName = "Application";
System.Diagnostics.EventLog evtlog =
new System.Diagnostics.EventLog(logName);
evtlog.Clear();
}
}
}
Vistaでユーザーアカウント制御 (UAC)が有効の場合、Windows フォームアプリケーションは「管理者として実行」しないと、例外(「System.ComponentModel.Win32Exception: アクセスが拒否されました。」) が発生しますので、可能ならばVSを管理者として実行してください。