Текущий архив: 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