![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Service [D7, XP]
Sergey2 © (2010-06-04 09:23:00)Необходимо в службе запустить программу. При компиляции проекта- 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;
Правильный$Вася (2010-06-05 23:02:00) [1]фар вероятно стартует, только под юзером localsystem
Медвежонок Пятачок (2010-06-04 14:48:00) [2]а зачем?
он им сможет воспользоваться, если даже и найдет в процессах?
Плохиш (2010-06-04 13:51:00) [3]Прикольно и никто ему ещё не посоветовал его фар в taskmanager-е поискать :-))
QAZ (2010-06-04 11:49:00) [4]так ты даже не прально поток оформил
Медвежонок Пятачок (2010-06-04 11:44:00) [5]всё, кроме ShellExecute - который или не срабатывает или срабатывает как то странно. и причем при старте сервиса
читай еще раз [4].
желательно вслух и громко.
а то видимо не доходит.
Медвежонок Пятачок (2010-06-04 11:43:00) [6]последнюю строку предыдущего поста надо тоже в контенттекст записать.
Sergey2 (2010-06-04 11:43:00) [7]всё, кроме ShellExecute - который или не срабатывает или срабатывает как то странно. и причем при старте сервиса
Palladin (2010-06-04 11:41:00) [8]короче, слух сюды....
кидаешь на форму TIdHTTPServer
устанавливаешь ему порт и все рюшечки
на событие OnServiceStart
пихаешь
httpserv.active = true
на стоп соответсно false
на httpserv.oncommandget пишешь
AResponse.ContentText = 'усе пучком!'
и, офигеть !?, вот так Вася, который был здесь, написал реального убийцу апача!
Sergey2 (2010-06-04 11:37:00) [9]чтото не догоняю. Если срабатывает у сервиса onExecute, что мешает обработаться всему тому что там описано - то есть возбудить Execute у моего MyThread ?
Медвежонок Пятачок (2010-06-04 11:37:00) [10]там именно все и обрабатывается.
начиная с бегина и кончая ендом.
Медвежонок Пятачок (2010-06-04 11:26:00) [11]почему же мой сервис пишет что нечему там работать
потому что сервис работает пока не завершится его OnExecute.
Медвежонок Пятачок (2010-06-04 11:23:00) [12]смотри [4]
Sergey2 (2010-06-04 11:21:00) [13]это не курсовик. и запуск мышки тут не причем совсем. и фар просто для примера. какая разница какое приложение стартовать. машина перегружается вдруг. принципиально что бы после перезагрузки стартовала программа. пока логин и пароль не введешь - никакие виндовые автозагрузки не сработают. а сервисы уже все работают.
почему же мой сервис пишет что нечему там работать - не понятно. хотя при компиляции и инсталяции Execute срабатывает...
oldman (2010-06-04 11:16:00) [14]
> Palladin © (04.06.10 10:40) [5]
> ух ты... что-то новое в науке... стартовать фары из сервисов.
мало ли у кого какие курсовики...
:)))
Медвежонок Пятачок (2010-06-04 10:44:00) [15]ну может лень ему мышкой запускать фары
:)
Palladin (2010-06-04 10:40:00) [16]ух ты... что-то новое в науке... стартовать фары из сервисов...
Медвежонок Пятачок (2010-06-04 10:12:00) [17]фар стартует (при условии что путь к exe верный).
но ты его не видишь и не увидишь даже если сервис не остановится
Sergey2 (2010-06-04 10:06:00) [18]при компиляции и инсталяции - делает. при старте службы - нет
Медвежонок Пятачок (2010-06-04 10:05:00) [19]фар у тебя стартует, просто ты его не видишь
Leonid Troyanovsky (2010-06-04 09:46:00) [20]
> Sergey2 (04.06.10 09:23)
> Служба "Service1" на "Локальный компьютер" была запущена
> и затем остановлена. Некоторые службы автоматически останавливаются,
> если им нечего делать,
Ну, дык, ей, дейс-но, нечего делать.
--
Regards, LVT.