Главная страница
    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.46 MB
Время: 0.003 c
2-1305328162
TheEd
2011-05-14 03:09
2011.08.28
в разных DBF-файлах строки разного формата - как прочитать?


15-1304627395
Юрий
2011-05-06 00:29
2011.08.28
С днем рождения ! 6 мая 2011 пятница


1-1264839776
kudatsky
2010-01-30 11:22
2011.08.28
Как скопировать слово из одного TMemo в другой ?


2-1305453738
обморок
2011-05-15 14:02
2011.08.28
самое длинное слово


15-1304540995
Юрий
2011-05-05 00:29
2011.08.28
С днем рождения ! 5 мая 2011 четверг





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский