Форум: "WinAPI";
Текущий архив: 2014.03.09;
Скачать: [xml.tar.bz2];
Внизuptime системы Найти похожие ветки
← →
tippa (2010-03-17 20:55) [0]Подскажите универсальный способ узнать, сколько времени прошло со старта системы. Сделал через
time := GetTickCount;
но тогда счетчик миллисекунд будет обнуляться каждае 50 дней. А система может работать и весь год.
← →
tippa (2010-03-17 21:12) [1]в реестре ключь тоже обнуляется через 50 дней?
HKEY_PERFORMANCE_DATA
← →
Игорь Шевченко © (2010-03-17 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 © (2010-03-17 21:16) [3]через WMI еще можно
http://blogs.clearscreen.com/dtax/archive/2007/01/19/5985.aspx
А можно еще перенаправить и пропарсить вывод net stats srv, но это правда извращение.
← →
Германн © (2010-03-18 02:18) [4]
> которое BootTime - это время загрузки в 100-нс
Интересно кто придумал сей бред? И почему?
← →
Anatoly Podgoretsky © (2010-03-18 09:36) [5]> Германн (18.03.2010 02:18:04) [4]
Потому что, это используется для отсчета не только загрузки.
← →
brother © (2010-03-18 09:37) [6]> не только загрузки.
это имхо или можно "например"?
← →
Дмитрий С © (2010-03-18 10:37) [7]GetTickCount64
← →
Anatoly Podgoretsky © (2010-03-18 12:29) [8]> brother (18.03.2010 09:37:06) [6]
Во многих местах используется в Виндоус. Даже в SQL серверах
← →
tippa (2010-03-18 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);
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2014.03.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.002 c