Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.013 c
1-65543
Soi
2003-10-08 06:03
2003.10.20
Проблемы с компонентом RadioGroup


14-65595
michael
2003-10-01 14:21
2003.10.20
Как читать книги по программированию?


1-65412
plyaznik
2003-10-07 21:01
2003.10.20
подскажите блокнот с подсветкой синтаксиса Pascal(-)


1-65547
qq
2003-10-07 11:49
2003.10.20
dnd ltd


1-65482
webpauk
2003-10-08 17:41
2003.10.20
component property




   Наверх