Занадобилось мне сделать утиль, чтоб у пользователей логи забирать и не тратить свое время на объяснение чего и откуда экспортировать.
Сделал только для System и Application журналов, добавить остальные не проблема, знаючи...
Собственно:
using System;
using System.IO;
using System.Runtime.InteropServices;
namespace LogHarvester
{
class Program
{
[DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Auto)]
static extern bool BackupEventLog(IntPtr hEventLog, string backupFile);
// OpenEventLog PInvoke overloaded call supporting full parameters.
[DllImport("advapi32.dll", SetLastError = true, EntryPoint = "OpenEventLog")]
public static extern IntPtr OpenEventLog(
[MarshalAs(UnmanagedType.LPStr)] String lpUNCServerName,
[MarshalAs(UnmanagedType.LPStr)] String lpSourceName);
static void Main()
{
BackupEventLog(OpenEventLog(null, "Application"), Path.Combine(Environment.CurrentDirectory, "application.evt"));
BackupEventLog(OpenEventLog(null, "System"), Path.Combine(Environment.CurrentDirectory, "system.evt"));
}
}
}
* This source code was highlighted with Source Code Highlighter.
Комментариев нет:
Отправить комментарий