我正在VS-2010中做一个C++项目,我想安装一个windows服务。我的问题是,默认情况下,sc.exe是否存在于所有的windows 7和Windows 8中,是否可以使用下面的代码在Windows中安装服务?或者我还应该做些什么来达到这个目标。
void CreateService(void)
{
system("sc create MyService binPath=c:\\abc.exe");
}期待您的好意回应。
发布于 2014-02-03 21:00:06
下面是一些示例代码,只需确保添加了正确的错误检查。
SC_HANDLE h_manager = NULL;
SC_HANDLE h_service = NULL;
h_manager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
h_service = CreateServiceW(
h_manager, // SCM database
L"MyService", // name of service
L"My Service", // display name
SERVICE_ALL_ACCESS, // desired access
SERVICE_WIN32_OWN_PROCESS, // service type
SERVICE_AUTO_START, // start type
SERVICE_ERROR_NORMAL, // error control type
L"c:\\abc.exe", // path to service's binary
NULL, // no load ordering group
NULL, // no tag identifier
NULL, // no dependencies
L"NT AUTHORITY\\NetworkService",
L""); // no password
CloseServiceHandle(h_service);
CloseServiceHandle(h_manager);与文件的链接:
发布于 2014-02-03 11:46:24
您不需要使用sc命令,您可以通过调用OpenSCManager()和CreateService()函数来安装服务。
https://stackoverflow.com/questions/21526122
复制相似问题