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を管理者として実行してください。

Add comment




  Country flag

biuquote
  • Comment
  • Preview
Loading