Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2011.08.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
И. Павел ©   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
2-1305445442
maksim
2011-05-15 11:44
2011.08.28
3 потока и одна переменная


2-1305286843
Gu
2011-05-13 15:40
2011.08.28
Вопрос по классам


15-1303914069
xayam
2011-04-27 18:21
2011.08.28
Идея для программы


15-1305059392
Юрий
2011-05-11 00:29
2011.08.28
С днем рождения ! 11 мая 2011 среда


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский