关于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社区问答
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社区问答
相关文章推荐
- 关于sharepoin teamservice的权限控制-探讨
- 2013-12-15 【C++-01】:关于复制控制的一点理解
- 《C++第十五周实验报告3-1、2》---对照运行的结果和教材中关于格式控制的说明
- 关于C++ 输入输出流状态控制
- 关于c++颜色的控制
- 关于C++访问控制
- c++----关于格式控制
- 关于C++访问控制的理解
- C++中关于public、protect、private的访问权限控制
- 关于c,c++输出格式控制
- 关于C++的cout输出小数的精度控制
- C++中关于public、protect、private的访问权限控制
- 关于C++处理1+2+......+n的新思路
- 关于C++的递归(以汉诺塔为例)
- [原创]关于Android Service的示例编程 附源码
- C++中关于 引用 的用法
- 关于Css控制Web打印
- 关于校验和计算方面的C++代码,哪位大侠帮忙解读一下,小弟初学,不太懂!谢谢!
- 谭浩强版C++课本实例 第三章 关于类和对象的进一步讨论(14)
- C/C++面试软件开发工程师遇到的一道关于循环的笔记题