读书人

如若生成windows的一个自启动服务但

发布时间: 2012-09-20 09:36:50 作者: rapoo

如果生成windows的一个自启动服务,但是让他先不用自动启动?
用CreateService创建一个windows services,dwStartType设置为自动启动SERVICE_AUTO_START,可是好像创建完服务以后都会自动启动这个服务,能不能创建时设置这个服务为自动启动,但是创建完服务以后不要立即启动?第一次要靠手动启动或者重启机器启动服务?是不是CreateService做不到这一点,有其他API可以实现这一要求吗?

[解决办法]
想简单点就

C/C++ code
system("net start \"Server Name\"");
[解决办法]

CreateService(); 这个函数的dwStartType参数指定为
SERVICE_DEMAND_START 或者 SERVICE_DISABLED

SERVICE_DEMAND_START //手动启动
SERVICE_DISABL //禁用
[解决办法]
额,我用CreateService 仅仅是创建了服务,服务不会自己启动,需添加启动代码.
SC_HANDLE hService = ::CreateService(hSCM,
m_szServiceName,
m_szServiceName,
SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS,
SERVICE_AUTO_START, // start condition
SERVICE_ERROR_NORMAL,
szFilePath, //file path
NULL,
NULL,
NULL,
NULL,
NULL);

读书人网 >C++

热点推荐