Конференция "WinAPI" » uptime системы
 
  • tippa (17.03.10 20:55) [0]
    Подскажите универсальный способ узнать, сколько времени прошло со старта системы. Сделал через
    time := GetTickCount;


    но тогда счетчик миллисекунд будет обнуляться каждае 50 дней. А система может работать и весь год.
  • tippa (17.03.10 21:12) [1]
    в реестре ключь тоже обнуляется через 50 дней?
    HKEY_PERFORMANCE_DATA

  • Игорь Шевченко © (17.03.10 21:13) [2]
    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
  • DVM © (17.03.10 21:16) [3]
    через WMI еще можно

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

    А можно  еще перенаправить и пропарсить вывод net stats srv, но это правда извращение.
  • Германн © (18.03.10 02:18) [4]

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

    Интересно кто придумал сей бред? И почему?
  • Anatoly Podgoretsky © (18.03.10 09:36) [5]
    > Германн  (18.03.2010 02:18:04)  [4]

    Потому что, это используется для отсчета не только загрузки.
  • brother © (18.03.10 09:37) [6]
    > не только загрузки.

    это имхо или можно "например"?
  • Дмитрий С © (18.03.10 10:37) [7]
    GetTickCount64
  • Anatoly Podgoretsky © (18.03.10 12:29) [8]
    > brother  (18.03.2010 09:37:06)  [6]

    Во многих местах используется в Виндоус. Даже в SQL серверах
  • tippa (18.03.10 15:18) [9]
    спасибо
    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);

 
Конференция "WinAPI" » uptime системы
Есть новые Нет новых   [134431   +16][b:0][p:0.001]