procedure Tmain.guanbirtuservice; begin hService:=OpenService(hscmanager,Pchar('Service'),SERVICE_ALL_ACCESS); if hService>=0 then begin // showmessage('无法打开该Service'); // exit; QueryServiceStatus(hService,returnstatus); if returnstatus.dwCurrentState=SERVICE_RUNNING then ControlService(hService,SERVICE_CONTROL_STOP,returnstatus); CloseServiceHandle(hService);//关闭该Service end; end;procedure Tmain.qidongrtuservice; var lpServiceArgVectors:Pchar; begin hService:=OpenService(hscmanager,Pchar('Service'),SERVICE_ALL_ACCESS); if hService>=0 then begin // showmessage('无法打开该Service'); // exit; QueryServiceStatus(hService,returnstatus); //查看该Service的状态 if returnstatus.dwCurrentState=SERVICE_STOPPED then StartService(hService,0,lpServiceArgVectors); CloseServiceHandle(hService);//关闭该Service end; { QueryServiceStatus(hService,returnstatus); //查看该Service的状态 if returnstatus.dwCurrentState=SERVICE_STOPPED then StartService(hService,0,lpServiceArgVectors); CloseServiceHandle(hService);//关闭该Service}end;
procedure TForm1.Button3Click(Sender: TObject); var Memo1 : TMemo; begin // ServiceGetList('', SERVICE_WIN32, SERVICE_STATE_ALL, lbServices1.Items); try Memo1:=TMemo.create(self); Memo1.Visible:=false; Memo1.Parent:=self; ServiceGetList('', SERVICE_WIN32, SERVICE_STATE_ALL, Memo1.Lines); memo.Lines.Text:=memo1.Text; { if memo1.Lines.IndexOf('RTUService')>=0 then begin Memo.Lines.Text:=memo1.Text; end; } except freeandnil(Memo1); end;end;
uses WinSvc; public hscmanager,hService:SC_HANDLE; returnstatus:TServiceStatus;
begin
hService:=OpenService(hscmanager,Pchar('Service'),SERVICE_ALL_ACCESS);
if hService>=0 then
begin
// showmessage('无法打开该Service');
// exit;
QueryServiceStatus(hService,returnstatus);
if returnstatus.dwCurrentState=SERVICE_RUNNING then
ControlService(hService,SERVICE_CONTROL_STOP,returnstatus);
CloseServiceHandle(hService);//关闭该Service
end;
end;procedure Tmain.qidongrtuservice;
var
lpServiceArgVectors:Pchar;
begin
hService:=OpenService(hscmanager,Pchar('Service'),SERVICE_ALL_ACCESS);
if hService>=0 then
begin
// showmessage('无法打开该Service');
// exit;
QueryServiceStatus(hService,returnstatus);
//查看该Service的状态 if returnstatus.dwCurrentState=SERVICE_STOPPED then
StartService(hService,0,lpServiceArgVectors); CloseServiceHandle(hService);//关闭该Service
end;
{ QueryServiceStatus(hService,returnstatus);
//查看该Service的状态 if returnstatus.dwCurrentState=SERVICE_STOPPED then
StartService(hService,0,lpServiceArgVectors); CloseServiceHandle(hService);//关闭该Service}end;
var
Memo1 : TMemo;
begin
// ServiceGetList('', SERVICE_WIN32, SERVICE_STATE_ALL, lbServices1.Items);
try
Memo1:=TMemo.create(self);
Memo1.Visible:=false;
Memo1.Parent:=self;
ServiceGetList('', SERVICE_WIN32, SERVICE_STATE_ALL, Memo1.Lines);
memo.Lines.Text:=memo1.Text;
{ if memo1.Lines.IndexOf('RTUService')>=0 then
begin
Memo.Lines.Text:=memo1.Text;
end; }
except
freeandnil(Memo1);
end;end;
hscmanager,hService:SC_HANDLE;
returnstatus:TServiceStatus;