Можно счетчиком будет брать только до
i=1 сообщения в журнале начиная с самого последнего события
Цитата:
по фильтру в Set colLoggedEvents = objWMIService.ExecQuery
|
Код:

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery("Select * from Win32_NTLogEvent Where Logfile = 'System' and SourceName='User32' and (EventCode = '1074' or EventCode = '1076')")
For Each objEvent in colLoggedEvents
If i=1 Then
Exit For
End If
If InStr(objEvent.Message, "Тип выключения: Завершить работу") or InStr(objEvent.Message, "Тип выключения: Выключение питания")> 0 Then
msgbox "Выключение а не перезагрузка"
End If
i=i+1
Next