Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

uptime системы


tippa ©   (2010-03-17 20:55:00) 

Подскажите универсальный способ узнать, сколько времени прошло со старта системы. Сделал через
time := GetTickCount;
но тогда счетчик миллисекунд будет обнуляться каждае 50 дней. А система может работать и весь год.


tippa   (2010-03-18 15:18:00) [1]

спасибо
NtQuerySystemInformation(3, @s,sizeof(SYSTEM_TIME_OF_DAY_INFORMATION),nil);
n:=s.CurrentTime.QuadPart-s.BootTime.QuadPart;
n:=round(n/10000000);//сколько секунд работает система
Label1.Caption := inttostr(n);


Anatoly Podgoretsky   (2010-03-18 12:29:00) [2]

> brother  (18.03.2010 09:37:06)  [6]

Во многих местах используется в Виндоус. Даже в SQL серверах


Дмитрий С   (2010-03-18 10:37:00) [3]

GetTickCount64


brother   (2010-03-18 09:37:00) [4]

> не только загрузки.

это имхо или можно "например"?


Anatoly Podgoretsky   (2010-03-18 09:36:00) [5]

> Германн  (18.03.2010 02:18:04)  [4]

Потому что, это используется для отсчета не только загрузки.


Германн   (2010-03-18 02:18:00) [6]


> которое BootTime - это время загрузки в 100-нс

Интересно кто придумал сей бред? И почему?


DVM   (2010-03-17 21:16:00) [7]

через WMI еще можно

http://blogs.clearscreen.com/dtax/archive/2007/01/19/5985.aspx

А можно  еще перенаправить и пропарсить вывод net stats srv, но это правда извращение.


Игорь Шевченко   (2010-03-17 21:13:00) [8]

NtQuerySystemInformation (SystemTimeOfDayInformaton, ...

заполняет такую структуру:

 SYSTEM_TIME_OF_DAY_INFORMATION = packed record
   BootTime: LARGE_INTEGER;
   CurrentTime: LARGE_INTEGER;
   TimeZoneBias: LARGE_INTEGER;
   CurrentTimeZoneId: ULONG;
   Reserved: ULONG;
 end;

которое BootTime - это время загрузки в 100-нс начиная с 1601 года.

SystemTimeOfDayInformation = 3


tippa   (2010-03-17 21:12:00) [9]

в реестре ключь тоже обнуляется через 50 дней?
HKEY_PERFORMANCE_DATA


Наверх

Титульная страница Поиск, карта сайта Написать письмо