• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

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

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Закрыть Приложение При Бездействии

Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,481
Баллы
155
Поставленную задачу мы разобьем на две более простые:
  1. Написание

    Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

    определения времени простоя.
  2. Закрытие формы, если бездействие продолжалось более определенного времени.
Функция определения времени простоя приложения.
Код будет не сложный, никаких параметров передавать не нужно, на выходе получим время простоя в секундах.
Код:
function SecondsIdle: DWord;
var
liInfo: TLastInputInfo;
begin
liInfo.cbSize := SizeOf(TLastInputInfo);
GetLastInputInfo(liInfo);
Result := (GetTickCount - liInfo.dwTime) div 1000;
end;
Закрыть форму при простое приложения.
Теперь, мы должны добавить на форму компонент Timer и по событию OnTimer будем проверять: если временной порог превышен - закрываем приложение.
Код:
procedure TFmMAIN.Timer1Timer(Sender: TObject);
var
t: Integer;
begin
t := StrToInt(Format('%d', [UUser.SecondsIdle]));
if t >= 15 then // Тут нужно указать количество секунд до закрытия
Close;
end;
 
Последнее редактирование:
Вверх Снизу