Vova_2581 писал(а): Хакер не ищет путей к решению проблемы, Хакер ищет причину, для «...НЕ получится... лузеры! Это я вам гарантирую!». Вот в чем вся загвоздка.
Я видел как взрослые дяди, используя хитроумный прибор, измерили какую-то величину. Что именно мерили я понятия не имею, но очень хочу получить прибор, который покажет такую же или близкую величину. Куда буду применять полученное значение — тоже не скажу.
Vova_2581 писал(а):Код рассчитан на стандартный Windows, а если у Вас, к примеру, Linux то понятно, что может и не работать.
Хакер писал(а):На лицо незнание того. что такое Linux. Это вообще кардинально другая ОС. Не может и не работать, а совершенно гарантированно не будет работать. Даже EXE-файл, который производит на свет VB6, для Linux не будет иметь никакого смысла.
Хакер писал(а):Так проблема не была обозначена.
Хакер писал(а):Нужно получить величину, которая даром никому не нужна.
Хакер писал(а):А если я не прав, то не было ответа на ключевой вопрос: ради чего всё это? В каких дальнейших вычислениях будет участвовать искомая величина?
Vova_2581 писал(а):Тогда зачем она нужна Glary и eventvwr??? Уже неверно!
Boot Logging
Process Monitor can log activity from a point very early in the boot process during the initialization of boot-start device drivers. Configure Process Monitor to log the next boot by selecting Enable Boot Logging from the Options menu. Process Monitor's driver will log activity at the next boot into a file in the %Windir% directory and will continue logging through the shutdown or until you run Process Monitor again. Thus, if you don't run Process Monitor during a boot session you will capture a trace of the entire boot to shutdown cycle.
Хакер писал(а):Если цель написать свою утилиту для бенчмарков...
Если стоит задача замерить величину именно тем образом, каким её замеряет какая-то китайская утилита...
Если хочется всё-таки написать заменитель...
Vova_2581 писал(а):Хакер, да нет у меня таких задач.
Vova_2581 писал(а):Мне достаточно чтобы программный код сообщил мне, что рабочий стол появился, и пользователь уже может работать и все! Больше ничего не нужно.
Teranas писал(а):Кстати интересно было увидеть, что кто-то ещё пользуется bred2.
ALX_2002 писал(а):Пока встречно возник вопрос. В WMI есть класс Win32_process
У него есть важные нам (как мне кажется) атрибуты: Name, ProcessId, CreationDate, KernelModeTime, UserModeTime
ALX_2002 писал(а):Правильно ли я понимаю, что используя эти данные мы можем вычислить значение BootTime, которое Windows вычисляет и пишет в журнал событием с кодом 100 ?
ALX_2002 писал(а):Если это возможно, подскажи пожалуйста, как производится этот расчёт. Здесь вроде бы человек расписывает как это делается, но я не смог до конца разобраться. Можешь "на пальцах" объяснить алгоритм ? )
Если это продолжение решения изначальной задачи, то проблема WMI в том, что получит можно только информацию о ещё работающих процессах. По завершившимся и уничтоженным (уничтожение объекта не всегда происходит сразу же после завершения, если есть незакрытые хендлы на объект, объект будет существования до закрытия последнего хендла) информации получить нельзя.
А вот ETW позволяет.
Что касается WMI вообще, есть подозрение, что для процесса System корректное значение CreationDate возвращаться не будет.
Option Explicit
Dim objSWbemObject
For Each objSWbemObject In CreateObject("WbemScripting.SWbemLocator").ConnectServer.ExecQuery("SELECT ProcessId, Name, CreationDate FROM Win32_Process WHERE Name = 'System'")
With CreateObject("WbemScripting.SWbemDateTime")
.Value = objSWbemObject.CreationDate
MsgBox .GetVarDate
End With
Next
SELECT CreationDate FROM Win32_Process WHERE ProcessId = 0
Но в статье, если бегло посмотреть, говорится про некие 10 секунд после загрузки. Тогда схема с расчётом временной разницы через CreationDate уже не даст то, что отображается в журнале событий.
Хакер писал(а):А в чём с ни проблема? Он быстрее, чем Notepad++
ALX_2002 писал(а):Понял. Значит на WMI полагаться не вариант... А жаль...
ALX_2002 писал(а):Хм. Проверил на простом коде. Сравнил со значением из Process Explorer. Совпадает.
ALX_2002 писал(а):А есть примерчик кода по работе с ETW ?
ALX_2002 писал(а):Странно, что на XP так происходит. Я скорее ожидал ограничений со стороны 10-ки.
Хакер писал(а):Ну в MSDN наверняка есть.
Хакер писал(а):Картинки с imgur.com не загружаются. Зачем он нужен, если есть прекрасный механизм вложений на форуме?
Хакер писал(а):Это не ограничение из соображений секретности, просто соответствующие поля в соответствующих ядерных структурах некому заполнить в момент загрузки ядра. На момент, когда ядро только-только загружается, ещё как бы нет самой концепции процессов, нет структур EPROCESS и KPROCESS. Ещё даже процессор толком не инициализирован, не выставлены все его режимы работы. А задним числом эти поля тоже проставить некому.
Сейчас этот форум просматривают: Google-бот и гости: 29