Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.11.2013, 17:55
Lord_Vlad Lord_Vlad вне форума
Прохожий
 
Регистрация: 28.11.2013
Адрес: Москва
Сообщения: 19
Версия Delphi: Delphi 10
Репутация: 10
Вопрос Доступ к журналу событий системы

Доброго времени суток, форумчане

Давно читаю форум, многим помогали ответы в темах. Однако сейчас я вынужден задать вопрос.

По долгу рабочему столкнулся с задачей чтения журнала событий Windows 7 и Windows Server 2003-2008.
В целом проблем не возникло. Все разделы читаются полностью и без проблем, кроме раздела Security - при его чтении ответ пустой. Просто пустой.

Прошу вашей помощи, может посоветуете, как получить доступ к этому разделу.

Заранее спасибо, и привожу свой код

Код:
procedure TForm1.GetLogEvents;
  const
    wbemFlagForwardOnly = $00000020;
  var
    FSWbemLocator : OLEVariant;
    FWMIService : OLEVariant;
    FWbemObjectSet: OLEVariant;
    FWbemObject : OLEVariant;
    oEnum : IEnumvariant;
    iValue : LongWord;
    Insertion     : array of String;
    I: integer;
  begin
    FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
    FWMIService := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', '');
    FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_NTLogEvent Where LogFile="Security"','WQL',wbemFlagForwardOnly);
    oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
    while oEnum.Next(1, FWbemObject, iValue) = 0 do begin
      Form1.Memo1.Lines.Append(Format('Category %s',[String(FWbemObject.Category)]));
      Form1.Memo1.Lines.Append(Format('Computer Name %s',[String(FWbemObject.ComputerName)]));
      Form1.Memo1.Lines.Append(Format('EventCode %d',[Integer(FWbemObject.EventCode)]));
      Form1.Memo1.Lines.Append(Format('RecordNumber %d',[Integer(FWbemObject.RecordNumber)]));
      Form1.Memo1.Lines.Append(Format('Source Name %s',[String(FWbemObject.SourceName)]));

      Memo1.Lines.Append('------------------------------------------');

      FWbemObject:=Unassigned;
    end;
  end;
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:08.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter