6,849
社区成员
发帖
与我相关
我的任务
分享
void ServiceMain(int argc, char** argv)
{
int error;
WriteToLog("Service Main");
ServiceStatus.dwServiceType =SERVICE_WIN32; //SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS;//SERVICE_WIN32;
ServiceStatus.dwCurrentState =SERVICE_START_PENDING;
ServiceStatus.dwControlsAccepted =SERVICE_ACCEPT_STOP |SERVICE_ACCEPT_SHUTDOWN ;//|SERVICE_ACCEPT_PAUSE_CONTINUE;
ServiceStatus.dwWin32ExitCode = 0;
ServiceStatus.dwServiceSpecificExitCode = 0;
ServiceStatus.dwCheckPoint = 0;
ServiceStatus.dwWaitHint = 0;
hStatus = RegisterServiceCtrlHandler(ServiceName,(LPHANDLER_FUNCTION)ControlHandler);
if (hStatus == (SERVICE_STATUS_HANDLE)0)
{
return;
}
#if 0
error = InitService();
if (!error)
{
WriteToLog("InitService");
ServiceStatus.dwCurrentState = SERVICE_STOPPED;
ServiceStatus.dwWin32ExitCode = -1;
SetServiceStatus(hStatus, &ServiceStatus);
return;
}
#endif
ServiceStatus.dwCurrentState = SERVICE_RUNNING;
SetServiceStatus(hStatus, &ServiceStatus);
installHelper.RunService(); // 这里启动我的exe
while (ServiceStatus.dwCurrentState == SERVICE_RUNNING)
{
//installHelper.RunService();
Sleep(SLEEP_TIME);
}
return;
}