将NT服务列表出来并停止某服务

时间:2010-01-31 10:00:50  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:bsp;   interface    uses    SysUtils,  Windows,  WinSvc;    type    TServiceManager  =  class    private    { &...
  正文:将NT服务列表出来并停止某服务  


unit  ServiceManager;    

interface    

uses    
SysUtils,  Windows,  WinSvc;    

type    

TServiceManager  =  class    
private    
{  Private  declarations  }    
ServiceControlManager:  SC_Handle;    
ServiceHandle:  SC_Handle;    
protected    
function  DoStartService(NumberOfArgument:  Dword;  ServiceArgVectors:  PChar):  Boolean;    
public    
{  Public  declarations  }    
function  Connect(MachineName:  PChar  =  nil;  DatabaseName: 
 PChar  =  nil;    
Access:  DWORD  =  SC_MANAGER_ALL_ACCESS):  Boolean;    
//  Access  may  be  SC_MANAGER_ALL_ACCESS    
       function  OpenServiceConnection(ServiceName:  PChar):  Boolean;    
function  StartService:  Boolean;  overload;  //  Simple  start    
       function  StartService(NumberOfArgument:  DWORD; 
 ServiceArgVectors:  PChar):  Boolean;    
overload;  //  More  complex  start    
       function  Stophotoshop/ target=_blank class=infotextkey>pservice:  Boolean;    
procedure  PauseService;    
procedure  ContinueService;    
procedure  ShutdownService;    
procedure  DisableService;    
function  GetStatus:  DWORD;    
function  ServiceRunning:  Boolean;    
function  ServiceStopped:  Boolean;    
end;    

implementation    

{  TServiceManager  }    

function  TServiceManager.Connect(MachineName,  DatabaseName:  PChar;    
Access:  DWORD):  Boolean;    
begin    
  Result  :=  False;    
  {  open  a  connection  to  the  windows  service  manager  }    
  ServiceControlManager  :=  OpenSCManager(MachineName,  DatabaseName,  Access);    
  Result  :=  (ServiceControlManager  <>  0);    
end;    


function  TServiceManager.OpenServiceConnection(ServiceName:  PChar):  Boolean;    
begin    
  Result  :=  False;    
  {  open  a  connetcion  to  a  specific  service  }    
  ServiceHandle  :=  OpenService(ServiceControlManager,  ServiceName,
  SERVICE_ALL_ACCESS);    
  Result  :=  (ServiceHandle  <>  0);    
end;    
将NT服务列表出来并停止某服务》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/Delphi/12674.html


关键字:

关于《将NT服务列表出来并停止某服务》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td