Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.08.28;
Скачать: CL | DM;

Вниз

чтение системных журналов сообщений   Найти похожие ветки 

 
И. Павел ©   (2011-05-05 15:41) [0]

Здравствуйте.
Я хочу прочитать два системных журнала сообщений: system и security и записать все их сообщения в строку для дальнейшей обработки. Я могу получить все сообщения этих журналов, коды этих сообщений, даты их создания и набор  связанных с сообщением строк данных (в конце поста привел код того, как я это делаю). Но строки данных, привязанные к сообщению не содержат пояснений, что каждая из этих строк из себя представляет. Если выводить один тип сообщений, то можно определить, какие данные содержит строка с каждым номером, но ведь этих сообщений очень много.

Подскажите, пожалуйста, можно ли где-то в системе найти пояснения ко всем строкам данных в конце PEVENTLOGRECORD и как-нибудь выводить эти строки с пояснениями, т.е. не так:
pavel
mygroup
C:\1.exe

а так:
Логин: pavel
Пароль: mygroup
запущенная программа: C:\1.exe

Заранее спасибо.

PS: вот код того, как я сейчас читаю сообщения:

 h := OpenEventLog(nil, PAnsiChar(JurnalName));
 ...
 pevlr := PEVENTLOGRECORD(@bBuffer);
 while (ReadEventLog(h,
                     EVENTLOG_BACKWARDS_READ +
                     EVENTLOG_SEQUENTIAL_READ,
                     0,
                     pevlr,
                     SizeOf(bBuffer),
                     dwRead,
                     dwNeeded)) do
 begin
   while (dwRead > 0) do
   begin
     AddOffset := 0;
     ...
     if pevlr.EventID = 4689  //сообщение о создании процесса
     then
     begin
       s := s + "Создание процесса"#13#10;
       s := s + "Время: " + FormatDateTime("hh":"nn":"ss dd"."mm"."yyyy", EvDate) + #13#10;
       //НАЧИНАЮ СЧИТЫВАТЬ СТРОКИ С ДАННЫМИ
       for i := 1 to pevlr^.NumStrings do
       begin
         pevstr := LPWSTR(LPSTR(pevlr) + pevlr^.StringOffset + AddOffset);
         if i = 2 then s := s + "Учетная запись: " + String(PChar(pevstr)) + #13#10;
         if i = 3 then s := s + "Домен: " + String(PChar(pevstr)) + #13#10;
         if i = 7 then
         begin
           s := s + "Имя: " + String(PChar(pevstr)) + #13#10;
           break;
         end;
         AddOffset := AddOffset + StrLen(PChar(pevstr)) + 1;
       end;
       s := s + "***"#13#10;
     end;

     dwRead := dwRead - pevlr^.Length;
     pevlr  := PEVENTLOGRECORD(LPSTR(pevlr) + pevlr^.Length);
   end;
   pevlr := PEVENTLOGRECORD(@bBuffer);
 end;
 CloseEventLog(h);


 
OW ©   (2011-05-05 15:50) [1]

http://rouse.drkb.ru/winapi.php
Работа с системным логом событий.
смотрел?


 
И. Павел ©   (2011-05-05 16:59) [2]


> OW ©   (05.05.11 15:50) [1]

Спасибо. Это я еще не смотрел. Сейчас буду разбираться.



Страницы: 1 вся ветка

Текущий архив: 2011.08.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
15-1305056428
И. Павел
2011-05-10 23:40
2011.08.28
Как получить список запущенных приложений из сервиса


6-1240993239
sCANner
2009-04-29 12:20
2011.08.28
Indy IdMessage получить все заголовки письма


3-1263219115
dolmat
2010-01-11 17:11
2011.08.28
order by изменить порядок сортировки


3-1262553825
wipr
2010-01-04 00:23
2011.08.28
отмена удаления в таблицах DBF


15-1304713794
Юрий
2011-05-07 00:29
2011.08.28
С днем рождения ! 7 мая 2011 суббота