最简单的方式
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.
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社区问答