Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Service   Найти похожие ветки 

 
Sergey2   (2010-06-04 09:23) [0]

Необходимо в службе запустить программу. При компиляции проекта- Far открывается. инсталлирую программу когда - стартую в Службах - пишет

Служба "Service1" на "Локальный компьютер" была запущена и затем остановлена. Некоторые службы автоматически останавливаются, если им нечего делать, например, служба журналов и оповещений производительности.

и соответственно Far не стартует


 TMyThread = class (TThread)
 Public
   Procedure Execute; override;
 End;

 TService1 = class(TService)

.....

procedure TMyThread.Execute();
begin
 If Terminated Then
   exit;

  ShellExecute(Handle, nil, PChar ("C:\Program Files\Far\Far.exe"), nil, nil, SW_RESTORE)
end;

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
 Service1.Controller(CtrlCode);
end;

function TService1.GetServiceController: TServiceController;
begin
 Result := ServiceController;
end;

procedure TService1.ServiceExecute(Sender: TService);
begin
 MyThread.Execute;
end;

procedure TService1.ServiceContinue(Sender: TService;
 var Continued: Boolean);
begin
 if not MyThread.Terminated then
 begin
   MyThread.Resume;
   Continued:=true;
 end;
end;

procedure TService1.ServicePause(Sender: TService; var Paused: Boolean);
begin
 MyThread.SuspEnd;
 Paused:=true;
end;

procedure TService1.ServiceStart(Sender: TService; var Started: Boolean);
begin
 Started := True;
end;

procedure TService1.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
 MyThread.Terminate;
 Stopped:=true;
end;

procedure TService1.ServiceCreate(Sender: TObject);
begin
 MyThread := TMyThread.Create(True);
 MyThread.Priority:=tpNormal;
 MyThread.Execute;
end;


 
Leonid Troyanovsky ©   (2010-06-04 09:46) [1]


> Sergey2   (04.06.10 09:23)  

> Служба "Service1" на "Локальный компьютер" была запущена
> и затем остановлена. Некоторые службы автоматически останавливаются,
>  если им нечего делать,

Ну, дык, ей, дейс-но, нечего делать.

--
Regards, LVT.


 
Медвежонок Пятачок ©   (2010-06-04 10:05) [2]

фар у тебя стартует, просто ты его не видишь


 
Sergey2   (2010-06-04 10:06) [3]

при компиляции и инсталяции - делает. при старте службы - нет


 
Медвежонок Пятачок ©   (2010-06-04 10:12) [4]

фар стартует (при условии что путь к exe верный).

но ты его не видишь и не увидишь даже если сервис не остановится


 
Palladin ©   (2010-06-04 10:40) [5]

ух ты... что-то новое в науке... стартовать фары из сервисов...


 
Медвежонок Пятачок ©   (2010-06-04 10:44) [6]

ну может лень ему мышкой запускать фары
:)


 
oldman ©   (2010-06-04 11:16) [7]


> Palladin ©   (04.06.10 10:40) [5]
> ух ты... что-то новое в науке... стартовать фары из сервисов.


мало ли у кого какие курсовики...
:)))


 
Sergey2   (2010-06-04 11:21) [8]

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


 
Медвежонок Пятачок ©   (2010-06-04 11:23) [9]

смотри [4]


 
Медвежонок Пятачок ©   (2010-06-04 11:26) [10]

почему же мой сервис пишет что нечему там работать

потому что сервис работает пока не завершится его OnExecute.


 
Sergey2   (2010-06-04 11:37) [11]

чтото не догоняю. Если срабатывает у сервиса onExecute, что мешает обработаться всему тому что там описано - то есть возбудить Execute у моего MyThread ?


 
Медвежонок Пятачок ©   (2010-06-04 11:37) [12]

там именно все и обрабатывается.
начиная с бегина и кончая ендом.


 
Palladin ©   (2010-06-04 11:41) [13]

короче, слух сюды....
кидаешь на форму TIdHTTPServer
устанавливаешь ему порт и все рюшечки

на событие OnServiceStart
пихаешь
httpserv.active = true
на стоп соответсно false

на httpserv.oncommandget пишешь
AResponse.ContentText = "усе пучком!"

и, офигеть !?, вот так Вася, который был здесь, написал реального убийцу апача!


 
Sergey2   (2010-06-04 11:43) [14]

всё, кроме ShellExecute - который или не срабатывает или срабатывает как то странно. и причем при старте сервиса


 
Медвежонок Пятачок ©   (2010-06-04 11:43) [15]

последнюю строку предыдущего поста надо тоже в контенттекст записать.


 
Медвежонок Пятачок ©   (2010-06-04 11:44) [16]

всё, кроме ShellExecute - который или не срабатывает или срабатывает как то странно. и причем при старте сервиса


читай еще раз [4].
желательно вслух и громко.
а то видимо не доходит.


 
QAZ   (2010-06-04 11:49) [17]

так ты даже не прально поток оформил


 
Плохиш ©   (2010-06-04 13:51) [18]

Прикольно и никто ему ещё не посоветовал его фар в taskmanager-е поискать :-))


 
Медвежонок Пятачок ©   (2010-06-04 14:48) [19]

а зачем?

он им сможет воспользоваться, если даже и найдет в процессах?


 
Правильный$Вася   (2010-06-05 23:02) [20]

фар вероятно стартует, только под юзером localsystem



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.099 c
3-1237562794
SP
2009-03-20 18:26
2010.08.27
Коррелированный запрос UPDATE


2-1270465711
Чайник
2010-04-05 15:08
2010.08.27
Возвращаемое значение ShowModal


15-1269859658
AlexDan
2010-03-29 14:47
2010.08.27
Volvo теперь китайский автомобиль..!


15-1274775765
bss
2010-05-25 12:22
2010.08.27
D2006, не работает "Find declaration" на DevExpress объектах


15-1263990046
fford
2010-01-20 15:20
2010.08.27
что меньше нагружает сервер