衡玉's Blog

Happy coding

windows服务ATL模板 服务启动后再停止出错,并且无法删除

衡玉 posted @ 2010年2月21日 17:48 in windows 服务编程 , 3139 阅读

 服务启动后再停止时出错,是因为我在成员函数PreMessageLoop()函数中缺少控制代码所致,控制代码如下:

 

HRESULT CRestoreSerModule::PreMessageLoop(int nShowCmd)
{
	m_status.dwControlsAccepted = m_status.dwControlsAccepted | SERVICE_ACCEPT_PAUSE_CONTINUE;
	HRESULT hr = __super::PreMessageLoop(nShowCmd);
	if (hr == S_FALSE)
		hr = S_OK;
	return hr;
}

 

加上这些代码即可正常启动、停止了。

至于无法删除,

[SC] deleteservice FAILD 1072    这个错误是因为停止没有相应,所以控制器上好像停止了,可是程序依然在运行,打开任务管理器,结束这个进程,在删除就没有问题了。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter