Текущий архив: 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.47 MB
Время: 0.046 c