ATL服务程序

通过ATL创建服务程序十分便捷,ATL向导能自动生成代码。注册服务命令为:aaa.exe /Service,卸载则用:aaa.exe /UnRegServer。在Run、OnStop、OnShutDown等函数中定制服务行为,确保在停止服务时释放资源,调整Install和RegisterAppId以控制服务启动方式。
摘要由CSDN通过智能技术生成

使用ATL编写服务程序比较简单,ATL生成向导会自动生成,编译后运行命令:

注册:aaa.exe /Service

卸载服务:停止后运行命令aaa.exe /UnRegServer  

 

重写Run函数,OnStop,OnShutDown,Install,RegisterAppId等函数

可以在Run个函数里面来实现自己的功能

HRESULT Run(int nShowCmd = SW_HIDE) throw()
	{
		HRESULT hr = S_OK;

		m_pThread = NULL;
		m_ThreadHandle = 0;

		hr = __super::PreMessageLoop(nShowCmd);

		if (hr == S_OK)
		{
			if (m_bService)
			{
				SetServiceStatus(SERVICE_RUNNING);
				//Sleep(30000);
#ifdef DEBUG
				//Sleep(50000);
#endif
 				m_pThread = AfxBeginThread(RUNTIME_CLASS(CDeviceTherad), 0, 0, CREATE_SUSPENDED, NULL);
 				if ( NULL != m_pThread )
 				{
 					m_ThreadHandle = m_pThread->m_hThread;
					m_pThread->ResumeThread();
					Sleep(1000);
 				}

				m_pThread->PostThreadMessage(WM_START_MONITOR, WPARAM(m_pAppLog), NULL);
			}
			//进入消息循环,不停的处理消息&
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值