![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
дата создания процесса [D6, WinXP]
breeze © (2006-10-08 13:29:00)Проблема: получить дату начала и окончания процесса.
Есть ли возможность получить эту информацию с помощью TLHelp32 или NtQuerySystemInformation (Native API).
Последняя возвращает информацию о процессе:
{ Информация о процессе для Windows 2000 и выше }
SYSTEM_PROCESSES_NT2000 = packed record
// величина смещения для перехода к следующему элементу списка
NextEntryDelta: ULONG;
ThreadCount: ULONG;
Reserved1: array[0..5] of ULONG;
CreateTime: LARGE_INTEGER;
UserTime: LARGE_INTEGER;
KernelTime: LARGE_INTEGER;
ProcessName: UNICODE_STRING;
BasePriority: KPRIORITY;
ProcessId: ULONG;
InheritedFromProcessId: ULONG;
HandleCount: ULONG;
Reserved2: array[0..1] of ULONG;
VmCounters: VM_COUNTERS;
PrivatePageCount: ULONG;
IoCounters: IO_COUNTERS;
// Threads : array[0..0] of SYSTEM_THREADS;
end;
есть поле CreateTime(состоит из трех частей LowPart,HighPart,QuadPart), я не пойму что там вообще содержится.
Может быть есть другой способ, подскажите пожалуйста.
BiN (2006-10-08 19:31:00) [1]
> breeze (08.10.06 13:29)
GetProcessTimes+FileTimeToSystemTime
Eraser (2006-10-08 17:01:00) [2]> [0] breeze (08.10.06 13:29)
> Проблема: получить дату начала и окончания процесса.
для этого надо отслуживать запуск/завершение процессов в системе. Это можно реализовать через TLHelp32, периодически делая "снимки" состояния процессов (самый простой вариант), либо через WMI.