文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Windows服务程序的编写要点

Windows服务程序的编写要点

时间:2010-12-20  来源:生不如死

{

{(LPTSTR)"Serveric Name",(LPSERVICE_MAIN_FUNCTION) Service},

{NULL, NULL}

};

  • 调用StartServiceCtrlDispatcher(DispatchTable);
  • 启动Service(),以下均在Service()函数中完成
  • 生成ServiceStatusHandle

    ServiceStatusHandle = RegisterServiceCtrlHandler(

    LPCTSTR("Service Name"),

    (LPHANDLER_FUNCTION)ServiceCtrlHandler);

  • 设置服务状态

    ServiceStatus.dwServiceType = SERVICE_WIN32;

    ServiceStatus.dwCurrentState = SERVICE_RUNNING;

    ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN;

    ServiceStatus.dwWin32ExitCode = NULL;

    ServiceStatus.dwServiceSpecificExitCode = NULL;

    ServiceStatus.dwCheckPoint = NULL;

    ServiceStatus.dwWaitHint = NULL;

       

    SetServiceStatus (ServiceStatusHandle, &ServiceStatus);

  • 从ServiceCtrlHandler()中发出结束服务的信号

    if(Opcode==SERVICE_CONTROL_STOP || Opcode==SERVICE_CONTROL_SHUTDOWN)

    {

    ServiceStatus.dwCurrentState = SERVICE_STOP_PENDING;

    SetServiceStatus (ServiceStatusHandle,&ServiceStatus);

    bRunning=false;

    }

  • 在Service() 中终止服务

    ServiceStatus.dwCurrentState = SERVICE_STOPPED;

    SetServiceStatus (ServiceStatusHandle,&ServiceStatus);

  • 相关阅读 更多 +
    排行榜 更多 +
    PvZ戴夫的时空冒险重置

    PvZ戴夫的时空冒险重置

    策略塔防 下载
    PVZTV雪版阳光加50

    PVZTV雪版阳光加50

    策略塔防 下载
    双刃战士雪姐

    双刃战士雪姐

    冒险解谜 下载