做了个服务(XP系统),计算机关机或重启时候,收不到系统关机等消息
// ServiceMain 函数里接受下面三种消息
SERVICE_ACCEPT_STOP|SERVICE_ACCEPT_SHUTDOWN|SERVICE_ACCEPT_POWEREVENT;
m_hSrvStatus = RegisterServiceCtrlHandler(pArgv[0], ServiceControl);
void WINAPI ServiceControl(DWORD dwOpcode)
{
AddSystemEventLog(_T("TestServiceDisplayName"),_T("ServiceControl()1 %d\n"),dwOpcode);
switch (dwOpcode)
{
case SERVICE_CONTROL_SHUTDOWN:
case SERVICE_CONTROL_STOP:
case SERVICE_CONTROL_POWEREVENT:
// 关机收不到消息
break;
case SERVICE_CONTROL_INTERROGATE:
case SERVICE_CONTROL_PAUSE:
case SERVICE_CONTROL_CONTINUE:
default:
break;
}
AddSystemEventLog(_T("TestServiceDisplayName"),_T("ServiceControl()2 %d\n"),dwOpcode);
}