![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TService [D7, WinXP]
iXT © (2006-12-19 15:36:00)Приветствую!
Подскажите: сделал службу. В ММС есть описание службы. Какое св-во TService отвечает за него?
З.Ы.
Может туплю, но чего-то не найду.
Сергей М. (2006-12-20 10:21:00) [1]
> (Или нет?)
>
Или.
Как раз именно ChangeServiceConfig 2и позволяет изменить описание.
iXT (2006-12-20 09:28:00) [2]В сущности ChangeServiceConfig ИМХО будет делать тоже самое.
(Или нет?)
Благодарю.
iXT (2006-12-20 09:22:00) [3]
> Чапаев © (19.12.06 19:48) [11]
Вообще логично.
Чапаев (2006-12-19 19:48:00) [4]> [2] iXT © (19.12.06 15:58)
Лично я в обработчике Service.OnAfterInstall руками прописываю в реестр описание. И Удаляю в обработчике Service.OnBeforeUninstall.
iXT (2006-12-19 16:58:00) [5]
> Ну не предусмотрено это в классе TService, что ж тут поделать?
Тяжелый случай
Спасибо. А то так и искал бы.
Rouse_ (2006-12-19 16:45:00) [6]
> Я чего-то не понял. Я пишу свой сервис. А функция предлагает
> изменить конфигурацию установленного. ???
Все верно:
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;
Сергей М. (2006-12-19 16:30:00) [7]
> Я пишу свой сервис
было бы гораздо веселей, если бы ты писал "чужой")
> функция предлагает изменить конфигурацию установленного.
> ?
Именно так.
Ну не предусмотрено это в классе TService, что ж тут поделать ?
iXT (2006-12-19 16:28:00) [8]Я чего-то не понял. Я пишу свойсервис. А функция предлагает изменить конфигурацию установленного. ???
BiN (2006-12-19 16:22:00) [9]
> iXT © (19.12.06 15:58) [2]
ChangeServiceConfig2
Джо (2006-12-19 16:14:00) [10]> [4] iXT © (19.12.06 16:13)
> Это где?
Это в Windows API.
iXT (2006-12-19 16:13:00) [11]Это где?
Сергей М. (2006-12-19 16:00:00) [12]Глянь в Query/ChangeServiseConfig()
iXT (2006-12-19 15:58:00) [13]Вот блин. Тяжко искать черную кошку...
И где сие чудо прописывается? в Project options тоже вроде ничего нет.
Сергей М. (2006-12-19 15:45:00) [14]Никакое.