我用VC++向导生成了一个服务,CreateService时,把参数设成SERVICE_AUTO_START了,当我用 myapp -Service 注册这个服务后,在windows服务管理器里能看到这个服务,并且启动类别是“自动”,但是没有启动,非要手工启动一次,以后就正常了,即使重启计算机也能自动启动。
我知道用StartService能启动服务,但CreateService后,马上调用StartService会崩溃。是不是非要在其它程序中调用StartService启动该服务呀?
谢谢。
我知道用StartService能启动服务,但CreateService后,马上调用StartService会崩溃。是不是非要在其它程序中调用StartService启动该服务呀?
谢谢。
2 不是,可能是你对StartService的调用有问题,尝试CreateService之后Sleep(1000),然后再启动,如果仍然存在问题,那么CloseHandle以后,重新OpenSCManager、OpenService、StartService试试。
Specifies a service to be started automatically by the service control manager during system startup