首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SC.exe通过C++编码安装Windows

使用SC.exe通过C++编码安装Windows
EN

Stack Overflow用户
提问于 2014-02-03 11:25:39
回答 2查看 1.6K关注 0票数 1

我正在VS-2010中做一个C++项目,我想安装一个windows服务。我的问题是,默认情况下,sc.exe是否存在于所有的windows 7和Windows 8中,是否可以使用下面的代码在Windows中安装服务?或者我还应该做些什么来达到这个目标。

代码语言:javascript
复制
void CreateService(void) 
{
   system("sc create MyService binPath=c:\\abc.exe");
}

期待您的好意回应。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-03 21:00:06

下面是一些示例代码,只需确保添加了正确的错误检查。

代码语言:javascript
复制
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);

与文件的链接:

  • OpenSCManager
  • CreateService
  • CloseServiceHandle
票数 1
EN

Stack Overflow用户

发布于 2014-02-03 11:46:24

您不需要使用sc命令,您可以通过调用OpenSCManager()CreateService()函数来安装服务。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21526122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档