![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать сколько времени включен компьютер [D6, D7, WinXP]
Andrew999 © (2004-04-09 20:51:00)Как узнать сколько времени включен компьютер
Kerk (2004-04-11 11:53:00) [1]rdtsc :)
Gero (2004-04-10 22:22:00) [2]
> кошмар
Не то слово.
Polevi (2004-04-10 21:50:00) [3]кошмар
Songoku (2004-04-10 16:26:00) [4]Я вот так делал!!!
function GetWindowsWorkedTime:String; // Max 49 days 17 hours 20 min 17 sec
var h,m,s:DWORD;
begin
h:=GetTickCount div $36EE80;
m:=(GetTickCount div $EA60)-(h*$3C);
s:=(GetTickCount div $3E8)-((m*$3C)+(h*$E10));
Result:=IntToStr(h);
if m<10 then Result:=Result+':0'+IntToStr(m) else Result:=Result+':'+IntToStr(m);
if s<10 then Result:=Result+':0'+IntToStr(s) else Result:=Result+':'+IntToStr(s);
end;
Владислав (2004-04-10 15:44:00) [5]> Anatoly Podgoretsky © (10.04.04 10:49) [11]
Ага, только автору, видать, это уже не надо :)
Verg (2004-04-10 12:20:00) [6]А можно ли получить последнюю запись в EventLog-ге, источником которого является сам EventLog, а код 6009?
Mim1 (2004-04-10 12:09:00) [7]Anatoly Podgoretsky © (10.04.04 09:19) [9]
Заставили негоров работать? :)
Anatoly Podgoretsky (2004-04-10 10:49:00) [8]2^64*F в общем конца не увидать
Владислав (2004-04-10 10:21:00) [9]Интересно... может, если конечно процессор позволяет, воспользоваться RDTS (на вскидку не помню мнемонику, но вроде так) или QueryPerformanceCounter. Там будет больше, чем "~50 дней".
Anatoly Podgoretsky (2004-04-10 09:19:00) [10]Тоже касается и GetTickCount программа должна быть в памяти иначе переход не поймать. Но не обязательно в автозагрузку, это может быть сервис.
Очень удобно для мониторинга использования компьютера, мне пришлось делать такую систему, поскольку операторы ходили на другие компьютеры в ночное время и играли, лазили по порно сайтам, хотя это было запрещено. Также видны все перезагрузки.
TButton (2004-04-10 08:50:00) [11]тогда программу нужно воткнуть в авторан, чтоб она грузилась ваще самой первой.
Юрий Зотов (2004-04-10 08:37:00) [12]> Gero © (10.04.04 08:09) [6]
Теперь понятно. Спасибо.
Gero (2004-04-10 08:09:00) [13]
> Юрий Зотов © (10.04.04 08:01)
Стартовать может маленькая программка, которая всего то и делает, что запишет показатели времени и даты в файл.
А основная программа будет из него считавать при необходимости.
Юрий Зотов (2004-04-10 08:01:00) [14]> Gero © (09.04.04 22:52) [4]
То есть, программа обязана стартовать вместе с компом?
Gero (2004-04-09 22:52:00) [15]При загрузке компа запоминаете время и дату.
Потом сравниваете текущее время с тем, что было.
Юрий Зотов (2004-04-09 21:22:00) [16]> Verg © (09.04.04 21:13) [2]
Угу. А если надо больше, то несложно и сообразить внешний счетчик.
Verg (2004-04-09 21:13:00) [17]
> Юрий Зотов © (09.04.04 21:02) [1]
По модулю ~50 дней?
Юрий Зотов (2004-04-09 21:02:00) [18]GetTickCount.