通过C+使用SC.exe安装Windows服务+;编码 我正在研究一个VS2010的C++项目,我想安装一个Windows服务。我的问题是默认情况下是否在所有Windows 7和Windows 8中都存在sc.exe,是否可以使用以下代码在Windows中安装服务?或者我还应该做些什么来实现它 void CreateService(void) { system("sc create MyService binPath=c:\\abc.exe"); }
期待您的回复。您不需要使用通过C+使用SC.exe安装Windows服务+;编码 我正在研究一个VS2010的C++项目,我想安装一个Windows服务。我的问题是默认情况下是否在所有Windows 7和Windows 8中都存在sc.exe,是否可以使用以下代码在Windows中安装服务?或者我还应该做些什么来实现它 void CreateService(void) { system("sc create MyService binPath=c:\\abc.exe"); },windows,winapi,Windows,Winapi,期待您的回复。您不需要使用sc命令,您可以通过调用OpenSCManager()和CreateService()函数来安装服务。这里是一些示例代码,请确保添加正确的错误检查 SC_HANDLE h_manager = NULL; SC_HANDLE h_service = NULL; h_manager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); h_service = CreateServiceW( h_manager,
sc
命令,您可以通过调用OpenSCManager()
和CreateService()
函数来安装服务。这里是一些示例代码,请确保添加正确的错误检查
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);
文档链接: