您的位置:首页 > 编程语言 > C语言/C++

关于C++对 service 的控制

2011-11-17 23:35 162 查看
最简单的方式 
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社区问答
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息