Мне было интересно, есть ли способ добраться до журналов в разделе «Приложения и журналы обслуживания» в утилите просмотра событий в Windows. Дело в том, что я могу читать записи в Windows Logs с помощью кода ниже. Я прочитал всю запись и получаю элементы с необходимым идентификатором, получая 20 лучших результатов. Но я ничего не мог найти при доступе к разделу «Журналы приложений и сервисов». Должен ли я изменить LogType в конструкторе EventLog? Или существует другой метод или класс для доступа к журналам приложений и сервисов? Попытка "Application"
как переменная logType
не работает.Доступ к журналам приложений и сервисов с C#
string str = "";
EventLog ev = new EventLog(logType, System.Environment.MachineName);
int LastLogToShow = ev.Entries.Count;
if (LastLogToShow <= 0)
Console.WriteLine("No Event Logs in the Log :" + logType);
int i;
int k = 0;
for (i = ev.Entries.Count - 1; i >= 0; i--)
{
EventLogEntry CurrentEntry = ev.Entries[i];
if (CurrentEntry.EventID == id)
{
if (id == 1)
{
str += "Son Açılma \n";
str += "Olay Zamanı: " + CurrentEntry.TimeGenerated.ToLongDateString() + " " + CurrentEntry.TimeGenerated.ToShortTimeString() + "\n";
}
else if (id == 42)
{
str += "Son Kapatılma \n";
str += "Olay Zamanı: " + CurrentEntry.TimeGenerated.ToLongDateString() + " " + CurrentEntry.TimeGenerated.ToShortTimeString() + "\n";
}
else
{
str += "Event type: " + CurrentEntry.EntryType.ToString() + "\n";
str += "Event Message: " + CurrentEntry.Message + CurrentEntry + "\n";
str += "Event : " + CurrentEntry.UserName + "\n" + "\n";
str += "Olay Zamanı: " + CurrentEntry.TimeGenerated.ToLongDateString() + " " + CurrentEntry.TimeGenerated.ToShortTimeString() + "\n";
}
k++;
}
if (k > 20)
break;
}
ev.Close();
return str;
То, что я ищу под
Применение и обслуживание Журналы/
Microsoft/
Windows/
TerminalServices-RemoteConnectionManager/
Operational/
Код события 1149
Спасибо за ответ, но проблема в том, я получаю InvalidOperationException когда код достигнет конца блока for. Я думаю, что, поскольку 'readEvent()' читает следующее значение, оно получает нуль или что-то еще? О, и, кстати, массив заполняется 42 случаями события, тогда я получаю ошибку – EvsizTospaa
Это отлично работает для меня. Нет цикла for for для этого и ломается, когда он встречает нулевую запись. Какова фактическая ошибка? Вы пытаетесь изменить события в цикле? – w69rdy
Он выдает эту ошибку, когда вы вызываете метод ReadEvent(), и нет больше событий для чтения, вы это делаете? – w69rdy