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

Вниз

Сервисы в Delphi   Найти похожие ветки 

 
zdn ©   (2003-10-09 13:15) [0]

Подскажите, пожалуйста, можно ли програмно проинталлировать
созданный сервис, если да, то как отключить окно о том , что
сервис удачно проинстален.


 
Polevi ©   (2003-10-09 13:21) [1]

окно это VCL выводит, посмотри как сделано у Borland и убери лишнее


 
clickmaker ©   (2003-10-09 13:29) [2]

/INSTALL /SILENT


 
zdn ©   (2003-10-09 13:29) [3]

Наверно, не правильно выразился!
Я создаю Service Application
Потом из командной строки запускаю srv.exe -install
и тогда выпадает окно. Я так понимаю это окно не VCL
а винды.
И в догонку еще вопросик, а можно ли как-то не только программно инстллировать сервис, но и сразу запускать (Состояние RUN)?
Заранее благодарен.


 
clickmaker ©   (2003-10-09 13:30) [4]

Если через API, то CreateService, StartService


 
zdn ©   (2003-10-09 13:32) [5]


> /INSTALL /SILENT

спасибо!!
А как насчет переводить в RUN/ Может и это когда-нибудь делали!!!


 
zdn ©   (2003-10-09 13:34) [6]


> clickmaker © (09.10.03 13:30) [4]
> Если через API, то CreateService, StartService

Если не затруднит немного подробней!!
Заранее благодарен!!!!


 
clickmaker ©   (2003-10-09 13:42) [7]

var
hSCManager, hService: SC_HANDLE;
ss: SERVICE_STATUS;
dwDesiredState, dwOldCheckPoint: DWORD;
Args: PChar;
Res: LongBool;

hSCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
hService := OpenService(hSCManager, PChar(ServiceName), SERVICE_ALL_ACCESS);
Res := StartService(hService, 0, Args)
if Res then begin
QueryServiceStatus(hService, ss);

while (ss.dwCurrentState <> dwDesiredState)
do begin
dwOldCheckPoint := ss.dwCheckPoint;
Sleep(5000);
if not QueryServiceStatus(hService, ss) then
Break;
if (dwOldCheckPoint >= ss.dwCheckPoint) then
Break;
end;
CloseServiceHandle(hService);
CloseServiceHandle(hSCManager);


 
zdn ©   (2003-10-09 13:43) [8]


> clickmaker © (09.10.03 13:29) [2]
> /INSTALL /SILENT


Может еще каккой-то ключ есть???


 
zdn ©   (2003-10-09 13:51) [9]


> clickmaker © (09.10.03 13:42) [7]
> var
> hSCManager, hService: SC_HANDLE;
> ss: SERVICE_STATUS;
> dwDesiredState, dwOldCheckPoint: DWORD;
> Args: PChar;
> Res: LongBool;
>
> hSCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
> hService := OpenService(hSCManager, PChar(ServiceName),
> SERVICE_ALL_ACCESS);
> Res := StartService(hService, 0, Args)
> if Res then begin
> QueryServiceStatus(hService, ss);
>
> while (ss.dwCurrentState <> dwDesiredState)
> do begin
> dwOldCheckPoint := ss.dwCheckPoint;
> Sleep(5000);
> if not QueryServiceStatus(hService, ss) then
> Break;
> if (dwOldCheckPoint >= ss.dwCheckPoint) then
> Break;
> end;
> CloseServiceHandle(hService);
> CloseServiceHandle(hSCManager);


Извини за тупость, а куда его вставить!!!
Заранее благодарен!!!


 
clickmaker ©   (2003-10-09 14:08) [10]

Ну если из командной строки, то можно проще: написать батник

srv.exe /INSTALL /SILENT
net start srv


и запускать этот батник


 
zdn ©   (2003-10-09 14:09) [11]

Огромное спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!



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

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

Наверх




Память: 0.49 MB
Время: 0.016 c
1-65453
la Merin
2003-10-07 14:31
2003.10.20
Как заменить стрелки на кнопке у ComboBoxa на картинку?


3-65352
Andrei123
2003-09-29 13:31
2003.10.20
Key Violation


4-65663
sos
2003-08-15 09:38
2003.10.20
Обои


1-65490
Woolen
2003-10-08 14:51
2003.10.20
Не могу понять происхождение глюка


3-65380
The X
2003-09-27 17:44
2003.10.20
Корректная работа с паролями для Парадокс