【发布时间】:2011-03-11 05:25:52
【问题描述】:
我在 VC++ 中编写了 Windows 服务以在系统重新启动时挂载驱动器。 现在,当我重新启动系统时,在系统关闭时我想触发未触发的服务停止事件。
我已将 Windows 服务属性设置为自动,但它不起作用。 当我手动单击停止按钮时,停止事件会被触发。
感谢任何帮助。 我的代码看起来像:
void WINAPI ServiceCtrlHandler(DWORD Opcode)
{
switch(Opcode)
{
case SERVICE_CONTROL_PAUSE:
m_ServiceStatus.dwCurrentState = SERVICE_PAUSED;
break;
case SERVICE_CONTROL_CONTINUE:
m_ServiceStatus.dwCurrentState = SERVICE_RUNNING;
break;
case SERVICE_CONTROL_STOP:
m_ServiceStatus.dwWin32ExitCode = 0;
m_ServiceStatus.dwCurrentState = SERVICE_STOPPED;
m_ServiceStatus.dwCheckPoint = 0;
m_ServiceStatus.dwWaitHint = 0;
Disconnect() ;// This method i want to get called on system shot down automatically.
SetServiceStatus (m_ServiceStatusHandle,&m_ServiceStatus);
bRunning=false;
break;
case SERVICE_CONTROL_INTERROGATE:
break;
}
return;
}
【问题讨论】:
标签: visual-c++ windows-services