Форум по Delphi программированию



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.11.2022, 20:07
Dima170792 Dima170792 вне форума
Новичок
 
Регистрация: 02.04.2011
Сообщения: 61
Репутация: 10
По умолчанию Запуск другой программы в заданное время

Приветствую уважемые специалисты.
Прошу помочь освежить память в отношении ООП на Delphi, заранее благодарен.
Суть вопроса следующая- есть служба, ранее скомпилированная на Delphi, так вот необходимо в заданное время средствами Timer (к примеру 23:20) запустить exe другой программы - для примера блокнот.
Уже всю голову изломал - ничего не выходит.
Возможно кто то стыкался с подобными задачами?
Ответить с цитированием
  #2  
Старый 09.11.2022, 20:58
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,860
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Если мне не изменяет память, то в последних версиях служба не может создавать окна, соотв., таймер работать не будет. Как решение - создать дополнительный поток, который будет ждать нужного времени и запускать соотв. программу. Только надо сделать проверку, что бы не запускалось много копий. Например, по дате последнего запуска.
Что-то типа:
Код:
unit RunAppThread;

unterface

uses ...

type
  TRunAppThread = class(TThread)
    FLastRunDate : TDateTime;
    procedure Execure; override
  end;

implementation

procedure TRunAppThread.Execure;
begin
  While Not Terminated Do
    begin
      if (FLastRunDate <> Date) And (HourOf(Time) = 23) And (MinuteOf(Time) = 20) Then
        Begin
          ShellExecute(...); // тут, возможно, придется делать через CreateProcess
          FLastRunDate := Date;
        End;
      Sleep(15000); // Пауза в 15 секунд, можно сделать в 30 секунд
    end;
end;
Ответить с цитированием
Ответ



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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:02.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2021

ВКонтакте   Facebook   Twitter   Ссылка на Telegram