写了个windows服务程序,一个进程开启两个服务
问题是两个服务都可以注册,但是有一个服务在service.msc中的启动类型项中 不能显示  手动 这个选项,而另外一个就可以,两个服务创建的代码一样,如下:
hService = ::CreateService(hSCM,
"OtherServiceMain",
"OtherServiceMain",
SERVICE_ALL_ACCESS,
SERVICE_WIN32_SHARE_PROCESS,  //两个服务共享
SERVICE_DEMAND_START,        // start condition
SERVICE_ERROR_NORMAL,
szFilePath,
NULL,
NULL,
NULL,
NULL,
NULL);这个是为什么 ?还有个问题:
SERVICE_TABLE_ENTRY st[] = {       
{"OtherService",OtherServiceMain}, {"Service1", ServiceMain},
        {NULL, NULL}
    };
::StartServiceCtrlDispatcher(st);之后
为什么系统只开启了st中第一个服务,即OtherServiceMain线程启动OtherService服务,Service1为什么没有开启?系统不自动开启所有的线程启动所有的服务吗?
代码中需要设置什么地方吗 ?