Как долго запущена Windows?
Материал из DRKB
Как долго запущена Windows?[править | править код]
Ниже приведён код обработчика события OnClick для Button1. Он показывает диалоговое окошко с текстом в следующем формате
Windows started on Thursday, February 10, 2000 at 11:42:46 AM Its been up for 0 days, 3 hours, 22 minutes, 54 seconds
procedure TForm1.Button1Click(Sender: TObject);
var
ndays: double;
ticks: LongInt;
btime: TDateTime;
begin
{ Функция GetTickCount получает количество миллисекунд, прошедших с момента старта Windows }
ticks := GetTickCount;
{ Чтобы получить дни, необходимо разделить на количество миллисекунд в дне, 24*60*60*1000=86400000 }
ndays := ticks/86400000;
{ теперь вычитаем из текущей даты полученное количество дней работы Windows }
bTime := now-ndays;
{ показываем диалоговое окошко с сообщением }
ShowMessage(
FormatDateTime('"Windows started on" dddd, mmmm d, yyyy, ' +
'"at" hh:nn:ss AM/PM', bTime) + #10#13 +
'Its been up for ' + IntToStr(Trunc(nDays)) + ' days,' +
FormatDateTime(' h "hours," n "minutes," s "seconds"',ndays));
end;
Source: Взято из http://forum.sources.ru
ID: 01652
function UpTime: string;
const
TicksPerDay: Integer = 1000 * 60 * 60 * 24;
TicksPerHour: Integer = 1000 * 60 * 60;
TicksPerMinute: Integer = 1000 * 60;
TicksPerSecond: Integer = 1000;
var
t: Longword;
d, h, m, s: Integer;
begin
t := GetTickCount;
d := t div TicksPerDay;
Dec(t, d * TicksPerDay);
h := t div TicksPerHour;
Dec(t, h * TicksPerHour);
m := t div TicksPerMinute;
Dec(t, m * TicksPerMinute);
s := t div TicksPerSecond;
Result := 'Uptime: ' + IntToStr(d) + ' Days ' + IntToStr(h) + ' Hours ' + IntToStr(m) +
' Minutes ' + IntToStr(s) + ' Seconds';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := UpTime;
end;
Source: Взято с сайта: http://www.swissdelphicenter.ch
ID: 01653
Чтобы определить сколько времени прошло с момента последней перезагрузки системы необходимо воспользоваться функцией
GetCurrentTime: LongInt;
Возвращаемое значение: время в миллисекундах.
Пример использования:
Edit1.Text := FloatToStr(GetCurrentTime / 1000) + ' секунд с момента перезагрузки';
Source: http://delphiworld.narod.ru
ID: 01654