[EventLog][Tips] イベントソースを削除する

スポンサーリンク

[ad#ad-336×280]
EventLogクラスのDeleteEventSourceメソッドを使用すると、イベントソースを削除することができます。

また、Deleteメソッドを使用すると、イベントログを削除することができます。引数には削除するログの名前を指定します。

イベントソースに登録されているログ名はLogNameFromSourceNameメソッドで取得できます。引数にはイベントソース名を指定します。

下記は、イベントソースを削除する例です。

テキストボックスに入力されたイベントソースを削除します。

VBの例

' [削除]ボタンクリック時の処理
Private Sub btnDelete_Click(sender As System.Object, e As System.EventArgs) Handles btnDelete.Click
    '★★★削除するイベントログがあるか確認する★★★
    If System.Diagnostics.EventLog.SourceExists(txtSource.Text) Then
        '指定したソースが登録されているログを削除する
        Dim logName As String = System.Diagnostics.EventLog.LogNameFromSourceName(txtSource.Text, ".")

        '★★★イベントログの削除★★★
        System.Diagnostics.EventLog.DeleteEventSource(txtSource.Text)
        System.Diagnostics.EventLog.Delete(logName)
    Else
        MessageBox.Show("指定したイベントソースは存在しないため削除できません!!")
    End If
End Sub

C#の例

// [削除]ボタンクリック時の処理
private void btnDelete_Click(object sender, EventArgs e)
{
    // ★★★削除するイベントログがあるか確認する★★★
    if (System.Diagnostics.EventLog.SourceExists(txtSource.Text))
    {
        // 指定したソースが登録されているログを削除する
        string logName = System.Diagnostics.EventLog.LogNameFromSourceName(txtSource.Text, ".");

        // ★★★イベントログの削除★★★
        System.Diagnostics.EventLog.DeleteEventSource(txtSource.Text);
        System.Diagnostics.EventLog.Delete(logName);

        MessageBox.Show("イベントソースを削除しました!!");
    }
    else
    {
        MessageBox.Show("指定したイベントソースは存在しないため削除できません!!");
    }
}

コメント

タイトルとURLをコピーしました