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

Вниз

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

 
iXT ©   (2006-12-19 15:36) [0]

Приветствую!

Подскажите: сделал службу. В ММС есть описание службы. Какое св-во TService отвечает за него?

З.Ы.
     Может туплю, но чего-то не найду.


 
Сергей М. ©   (2006-12-19 15:45) [1]

Никакое.


 
iXT ©   (2006-12-19 15:58) [2]

Вот блин. Тяжко искать черную кошку...

И где сие чудо прописывается? в Project options тоже вроде ничего нет.


 
Сергей М. ©   (2006-12-19 16:00) [3]

Глянь в Query/ChangeServiseConfig()


 
iXT ©   (2006-12-19 16:13) [4]

Это где?


 
Джо ©   (2006-12-19 16:14) [5]

> [4] iXT ©   (19.12.06 16:13)
> Это где?

Это в Windows API.


 
BiN ©   (2006-12-19 16:22) [6]


> iXT ©   (19.12.06 15:58) [2]

ChangeServiceConfig2


 
iXT ©   (2006-12-19 16:28) [7]

Я чего-то не понял. Я пишу свой сервис. А функция предлагает изменить конфигурацию установленного. ???


 
Сергей М. ©   (2006-12-19 16:30) [8]


> Я пишу свой сервис


было бы гораздо веселей, если бы ты писал "чужой")


> функция предлагает изменить конфигурацию установленного.
>  ?


Именно так.

Ну не предусмотрено это в классе TService, что ж тут поделать ?


 
Rouse_ ©   (2006-12-19 16:45) [9]


> Я чего-то не понял. Я пишу свой сервис. А функция предлагает
> изменить конфигурацию установленного. ???

Все верно:

function DBAInstall: Boolean;
const
 StartType =
{$IFDEF SERVICE_DEBUG}          
   SERVICE_DEMAND_START;
{$ELSE}
   SERVICE_AUTO_START;
{$ENDIF}
var
 SCManager, Service: SC_HANDLE;
 Info: String;
begin
 SCManager := OpenSCManager(nil, nil, SC_MANAGER_CREATE_SERVICE);
 if SCManager <> 0 then
 try
   Service := CreateService(SCManager, DBAServiceName, DBAServiceDisplayName,
     SERVICE_ALL_ACCESS, SERVICE_WIN32_SHARE_PROCESS or SERVICE_INTERACTIVE_PROCESS,
     StartType, SERVICE_ERROR_NORMAL, PChar(""" + ParamStr(0) + "" -service"),
     nil, nil, PChar(DBADependencies), nil, nil);
   if Service <> 0 then
   try
     Result := ChangeServiceConfig(Service, SERVICE_NO_CHANGE,
       SERVICE_NO_CHANGE, SERVICE_NO_CHANGE, nil, nil,
       nil, nil, nil, nil, nil);
     Info := DBAServiceInfo;
     if Result then
       Result := ChangeServiceConfig2(Service,
         SERVICE_CONFIG_DESCRIPTION, @Info);
   finally
     CloseServiceHandle(Service);
   end
   else
     Result := GetLastError = ERROR_SERVICE_EXISTS;
 finally
   CloseServiceHandle(SCManager);
 end
 else
   Result := False
end;


 
iXT ©   (2006-12-19 16:58) [10]


> Ну не предусмотрено это в классе TService, что ж тут поделать?

Тяжелый случай

Спасибо. А то так и искал бы.


 
Чапаев ©   (2006-12-19 19:48) [11]

> [2] iXT ©   (19.12.06 15:58)
Лично я в обработчике Service.OnAfterInstall руками прописываю в реестр описание. И Удаляю в обработчике Service.OnBeforeUninstall.


 
iXT ©   (2006-12-20 09:22) [12]


> Чапаев ©   (19.12.06 19:48) [11]

Вообще логично.


 
iXT ©   (2006-12-20 09:28) [13]

В сущности ChangeServiceConfig ИМХО будет делать тоже самое.
(Или нет?)

Благодарю.


 
Сергей М. ©   (2006-12-20 10:21) [14]


> (Или нет?)
>


Или.

Как раз именно ChangeServiceConfig2 и позволяет изменить описание.



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

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

Наверх




Память: 0.49 MB
Время: 0.045 c
15-1169296134
boriskb
2007-01-20 15:28
2007.02.11
Вот в наше время!


15-1169484302
nomen
2007-01-22 19:45
2007.02.11
Приключение от Avast


1-1166165472
DelphiLexx
2006-12-15 09:51
2007.02.11
Как в DBGridEh объединить несколько колонок в одну


2-1169630947
распечатчик
2007-01-24 12:29
2007.02.11
Работа с принтером


6-1157383265
Griha
2006-09-04 19:21
2007.02.11
Перенаправление пакетов (аля proxy)