关于C++对 service 的控制

最简单的方式 
ShellExecute( "net   stop   servicename ",...); 
ShellExecute( "net   start   servicename ",...); 
复杂的就是API函数 
SC_HANDLE   OpenSCManager( 
    LPCTSTR   lpMachineName,       //   computer   name 
    LPCTSTR   lpDatabaseName,     //   SCM   database   name 
    DWORD   dwDesiredAccess         //   access   type 
); 
SC_HANDLE   OpenService( 
    SC_HANDLE   hSCManager,     //   handle   to   SCM   database 
    LPCTSTR   lpServiceName,   //   service   name 
    DWORD   dwDesiredAccess     //   access 
); 
BOOL   ControlService( 
    SC_HANDLE   hService,                               //   handle   to   service 
    DWORD   dwControl,                                     //   control   code 
    LPSERVICE_STATUS   lpServiceStatus     //   status   information 
); 
dwControl   
[in]   Specifies   the   requested   control   code.   This   value   can   be   one   of   the   following   control   codes.   Control   code   Description   
SERVICE_CONTROL_CONTINUE   Notifies   a   paused   service   that   it   should   resume.   The   hService   handle   must   have   SERVICE_PAUSE_CONTINUE   access.   
SERVICE_CONTROL_INTERROGATE   Notifies   a   service   that   it   should   report   its   current   status   information   to   the   service   control   manager.   The   hService   handle   must   have   SERVICE_INTERROGATE   access.   
SERVICE_CONTROL_NETBINDADD   Windows   2000/XP:   Notifies   a   network   service   that   there   is   a   new   component   for   binding.   The   hService   handle   must   have   SERVICE_PAUSE_CONTINUE   access.   
SERVICE_CONTROL_NETBINDDISABLE   Windows   2000/XP:   Notifies   a   network   service   that   one   of   its   bindings   has   been   disabled.   The   hService   handle   must   have   SERVICE_PAUSE_CONTINUE   access.   
SERVICE_CONTROL_NETBINDENABLE   Windows   2000/XP:   Notifies   a   network   service   that   a   disabled   binding   has   been   enabled.   The   hService   handle   must   have   SERVICE_PAUSE_CONTINUE   access.   
SERVICE_CONTROL_NETBINDREMOVE   Windows   2000/XP:   Notifies   a   network   service   that   that   a   component   for   binding   has   been   removed.   The   hService   handle   must   have   SERVICE_PAUSE_CONTINUE   access.   
SERVICE_CONTROL_PARAMCHANGE   Windows   2000/XP:   Notifies   a   service   that   its   startup   parameters   have   changed.   The   hService   handle   must   have   SERVICE_PAUSE_CONTINUE   access.  
SERVICE_CONTROL_PAUSE   Notifies   a   service   that   it   should   pause.   The   hService   handle   must   have   SERVICE_PAUSE_CONTINUE   access.   

SERVICE_CONTROL_STOP   Notifies   a   service   that   it   should   stop.   The   hService   handle   must   have   SERVICE_STOP   access.   



以上来源于csdn社区问答

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值