Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2023, 14:35   #1
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 248
По умолчанию EventLog вывести в memo

Добрый день уважаемые программисты.

Код:
Get-EventLog System -Newest 10000 |
Where EventId -in 41,1074,1076,6005,6006,6008,6009,6013 |
Format-Table TimeGenerated,EventId,UserName,Message -AutoSize -wrap
это команда с powerShell

подскажите как в Delphi Реализовать вывод EventLog в Memo1?
AppData вне форума Ответить с цитированием
Старый 12.09.2023, 14:44   #2
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 248
По умолчанию

может его как то переделать?

Код:
procedure  GetLogEvents;
const
  wbemFlagForwardOnly = $00000020;
var
  FSWbemLocator : OLEVariant;
  FWMIService   : OLEVariant;
  FWbemObjectSet: OLEVariant;
  FWbemObject   : OLEVariant;
  oEnum         : IEnumvariant;
  iValue        : LongWord;
begin;
  FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
  FWMIService   := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', '');
  FWbemObjectSet:= FWMIService.ExecQuery('SELECT Category,ComputerName,EventCode,Message,RecordNumber FROM Win32_NTLogEvent  Where Logfile="System"','WQL',wbemFlagForwardOnly);
  oEnum         := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
  while oEnum.Next(1, FWbemObject, iValue) = 0 do
  begin
    Writeln(Format('Category          %s',[String(FWbemObject.Category)]));
    Writeln(Format('Computer Name     %s',[String(FWbemObject.ComputerName)]));
    Writeln(Format('EventCode         %d',[Integer(FWbemObject.EventCode)]));
    Writeln(Format('Message           %s',[String(FWbemObject.Message)]));
    Writeln(Format('RecordNumber      %d',[Integer(FWbemObject.RecordNumber)]));
    FWbemObject:=Unassigned;
  end;
end;

begin
 try
    CoInitialize(nil);
    try
      GetLogEvents;
    finally
      CoUninitialize;
    end;
 except
    on E:EOleException do
        Writeln(Format('EOleException %s %x', [E.Message,E.ErrorCode]));
    on E:Exception do
        Writeln(E.Classname, ':', E.Message);
 end;
 Writeln('Press Enter to exit');
 Readln;
end.
AppData вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести результат SQL в Memo DKENT БД в Delphi 6 13.01.2018 18:46
вывести данные в DBLookupComboBox одновременно и в Memo!!! JunioR_BK БД в Delphi 1 10.05.2012 21:07
Логирование EventLog mrChester Общие вопросы .NET 7 18.04.2012 09:55
вывести строки из массива в memo qadhhj Помощь студентам 8 24.03.2012 16:11
Вывести содержимое IE в Memo Kristian Общие вопросы Delphi 12 22.09.2011 01:37