Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2017, 21:58   #1
romantik1993
Пользователь
 
Регистрация: 12.03.2012
Сообщений: 99
По умолчанию Автозакрытие приложения

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

Последний раз редактировалось romantik1993; 04.04.2017 в 22:01.
romantik1993 вне форума Ответить с цитированием
Старый 04.04.2017, 22:32   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Пользователь очень рад будет )) Чем политика безопасности не устраивает?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.04.2017, 02:12   #3
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

Цитата:
Сообщение от romantik1993 Посмотреть сообщение
Здравствуйте. Подскажите пожалуйста как сделать так чтобы программа автоматически закрывалась после 30 минут бездействия.
Очень просто.
На OnKeyDown формы (не забудьте KeyPreview поставить в True) и на OnMouseMove назначьте обработчик, перезапускающий таймер на 30 минут.
А на событие OnTimer сделайте Close...
kropotkina-alice вне форума Ответить с цитированием
Старый 05.04.2017, 05:09   #4
Filka
Форумчанин
 
Регистрация: 29.10.2015
Сообщений: 273
По умолчанию

Код:
function LastInput: DWORD;
var
  LastInputInfo: TLastInputInfo;
begin
  LastInputInfo.cbSize := SizeOf(TLastInputInfo);
  GetLastInputInfo(LastInputInfo);
  Result := GetTickCount - LastInputInfo.dwTime;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
const
  cTimeDelta = 5000; //30 * 60 * 1000;
begin
  if LastInput >= cTimeDelta then
  begin
    Timer1.Enabled := False;
    Application.Terminate;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Timer1.Interval := 1000;
  Timer1.Enabled := True;
end;
Filka на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оказание влияния формы одного приложения через форму другого приложения sistemsx Общие вопросы Delphi 27 30.01.2016 23:48
После запуска приложения из службы созданной на C# не отображается иконка приложения dmail1976 Общие вопросы .NET 1 22.09.2011 13:38
Делаю сайты, пишу маленькие/большие скрипты. Пишу веб-приложения и приложения под Windows. SkyM@n Фриланс 3 29.12.2007 16:21