Форум: "Сети";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];
ВнизСлужба Найти похожие ветки
← →
Nata (2004-08-06 15:38) [0]Здравствуйте мастера! Очень прошу помогите…как мне остановить службу на удаленном компьютере(компьютера в домене у меня права администратора) если можно фрагментик программки…заранее всем спасибо….
← →
Rouse_ © (2004-08-06 15:41) [1]
var
SCManager, Service: SC_HANDLE;
ServiceStatus: TServiceStatus;
begin
SCManager := OpenSCManager("\\RemoteComp", nil, SC_MANAGER_ALL_ACCESS);
if SCManager <> 0 then
try
Service := OpenService(SCManager, "имя сервиса", SERVICE_STOP);
if Service <> 0 then
try
if not ControlService(Service, SERVICE_CONTROL_STOP, ServiceStatus)
and (ServiceStatus.dwCurrentState = SERVICE_STOPPED) then
begin
ShowMessage(SysErrorMessage(GetLastError));
Exit;
end;
btnStopStart.Enabled := False;
btnClose.Enabled := False;
btnStart.Enabled := True;
finally
CloseServiceHandle(Service);
end;
finally
CloseServiceHandle(SCManager);
end;
← →
Nata (2004-08-06 15:43) [2]
> Rouse_
блин я тебя обожаю!!!!!!!!!!!!!!!!!!!!!!!!!
правда я еще не пробовала ну все равно спасибо тебе....чмок!
← →
Nata (2004-08-06 15:46) [3]слушай а подключать ничего не надо????
USES ????
← →
Rouse_ © (2004-08-06 16:07) [4]WinSvc
← →
Nata (2004-08-06 18:12) [5]:( ты знаешь запустилось но не раотает нажимаю на кнопку вообще ничего не происходит....:(
может я че не так сделала глянь....
procedure TForm1.Button1Click(Sender: TObject);
var
SCManager, Service: SC_HANDLE;
ServiceStatus: TServiceStatus;
begin
SCManager := OpenSCManager("\\127.0.0.1", nil, SC_MANAGER_ALL_ACCESS);
if SCManager <> 0 then
begin
try
Service := OpenService(SCManager, "Telnet", SERVICE_STOP);
form1.Label1.Caption:=inttostr(service);
if Service <> 0 then
try
if not ControlService(Service, SERVICE_CONTROL_STOP, ServiceStatus)
and (ServiceStatus.dwCurrentState = SERVICE_STOPPED) then
begin
ShowMessage(SysErrorMessage(GetLastError));
Exit;
end;
// btnStopStart.Enabled := False;
// btnClose.Enabled := False;
// btnStart.Enabled := True;
finally
CloseServiceHandle(Service);
end;
finally
CloseServiceHandle(SCManager);
end;
end;
end;
← →
Rouse_ © (2004-08-06 18:15) [6]Service := OpenService(SCManager, "Telnet", SERVICE_STOP);
замени на
Service := OpenService(SCManager, "TlntSvr", SERVICE_STOP);
← →
Rouse_ © (2004-08-06 18:19) [7]А в качестве параметра сервиса нужно передавать имя службы а не выводимое имя...
Запусти services.msc и посмотри в свойствах сервиса...
← →
Nata (2004-08-06 18:20) [8]
> Rouse_ © (06.08.04 18:15) [6]
> Service := OpenService(SCManager, "Telnet", SERVICE_STOP);
>
> замени на
> Service := OpenService(SCManager, "TlntSvr", SERVICE_STOP);
Да супер остановила но вот вопрос как запустить???? мне надо еще и потом запускать подскажи....
← →
Nata (2004-08-06 18:27) [9]я понимаю я тебе надоела но еще вопрос у меня есть служба она запускается C:\CARDSERV\CSERVICE.EXE
вот если я пишу Service := OpenService(SCManager, "CSERVICE", SERVICE_STOP);
что делать???
← →
Rouse_ © (2004-08-06 22:05) [10]Запустить соответственно:
var
SCManager, Service: SC_HANDLE;
P: PChar;
begin
SCManager := OpenSCManager("\\RemoteComp", nil, SC_MANAGER_ALL_ACCESS);
if SCManager <> 0 then
try
Service := OpenService(SCManager, "имя сервиса", SERVICE_START);
if Service <> 0 then
try
P := nil;
if not StartService(Service, 0, P) then
begin
ShowMessage(SysErrorMessage(GetLastError));
Exit;
end;
finally
CloseServiceHandle(Service);
end;
finally
CloseServiceHandle(SCManager);
end;
> я понимаю я тебе надоела но еще вопрос у меня есть служба она запускается C:\CARDSERV\CSERVICE.EXE
> вот если я пишу Service := OpenService(SCManager, "CSERVICE", SERVICE_STOP);
> что делать???
Не понял вопроса...
← →
Rouse_ © (2004-08-06 22:15) [11]Если последний вопрос по поводу инсталяции сервиса в SCM - то у "нормального" сервиса должна поддерживаться инсталляция из командной строки...
В противном случае можно конечно и ручками...// Инсталяция сервисов в SCM
// =============================================================================
function Install: 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, ListenerServiceName, ListenerServiceDisplayName,
SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS or SERVICE_INTERACTIVE_PROCESS,
StartType, SERVICE_ERROR_NORMAL, PChar(""" + ParamStr(0) + "" -service"),
nil, nil, nil, 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 := ListenerServiceInfo;
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;
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.043 c