Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Время простаивания системы

Delphi , Синтаксис , Дата и Время

Время простаивания системы

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

function LastInput: DWord;
 var
   LInput: TLastInputInfo;
 begin
   LInput.cbSize := SizeOf(TLastInputInfo);
   GetLastInputInfo(LInput);
   Result := GetTickCount - LInput.dwTime;
 end;


 //Example: 
procedure TForm1.Timer1Timer(Sender: TObject);
 begin
   Label1.Caption := Format('System Idle since %d ms', [LastInput]);
 end;


 // The GetLastInputInfo function retrieves the time 
// of the last input event. 
// Minimum operating systems: Windows 2000 

Here's the translation of the provided text into Russian:

Код, предоставленный ниже, - это программный код на Delphi, который рассчитывает и отображает время, прошедшее с момента последнего события ввода пользователя в миллисекундах.

Разбивка на части:

  1. Функция LastInput:

    • Она объявляет переменную LInput типа TLastInputInfo.
    • Она устанавливает cbSize в размер TLastInputInfo и вызывает функцию GetLastInputInfo(LInput) для получения информации о последнем событии ввода.
    • Она рассчитывает время, прошедшее с момента последнего события ввода, вычитая dwTime из текущего времени системы (GetTickCount).
  2. Процедура Timer1Timer:

    • Это обработчик события таймера для формы (в этом случае, TForm1).
    • Когда она вызывается, она обновляет надпись на лейбле (Label1) для отображения времени, прошедшего с момента последнего ввода.

Этот код может быть полезен в ситуациях, когда вам нужно мониторить время простоя системы, например, при разработке приложений, требующих пользовательского взаимодействия или отслеживания паттернов использования системы.

Альтернативное решение: Если вы ищете более эффективный способ расчета времени простоя системы без использования GetLastInputInfo, вы можете использовать функцию SystemParametersInfo с действием SPI_GETLASTINPUTINFO. Функция retrieves информацию о последнем событии ввода, включая время, прошедшее с момента этого события.

Пример:

function LastInput: DWord;
var
  LInput: TLastInputInfo;
begin
  SystemParametersInfo(SPI_GETLASTINPUTINFO, 0, @LInput, 0);
  Result := GetTickCount - LInput.dwTime;
end;

Этот подход более эффективен, потому что он не требует отдельного вызова GetLastInputInfo, и также более точен, потому что он получает информацию о последнем событии ввода напрямую из системы.

В статье описывается функция GetLastInputInfo, которая позволяет получить время последнего ввода в систему и использовать это для измерения времени простоя системы.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Дата и Время ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 18:12:41/0.0077998638153076/2