Главная страница
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
4-1249212093
QAZ
2009-08-02 15:21
2011.08.28
Hook RawInput


3-1262248374
12
2009-12-31 11:32
2011.08.28
можно как-то сделать быстрее?


15-1305100982
KilkennyCat
2011-05-11 12:03
2011.08.28
Вопрос по html div и текст


15-1304994305
IPranker
2011-05-10 06:25
2011.08.28
Скачать видео со станицы.


4-1250024459
kluben-hh
2009-08-12 01:00
2011.08.28
Вывести текст поверх рабочего стола