VS2012编译的Windows服务启动后立即停止的解决方案

原文: VS2012编译的Windows服务启动后立即停止的解决方案

 ATL中的BUG,在没有COM的服务中,使用_ATL_NO_COM_SUPPORT。

并在服务中添加下面的代码

#if defined(_ATL_NO_COM_SUPPORT)

    HRESULT PreMessageLoop(int nShowCmd)

    {

        SetServiceStatus(SERVICE_RUNNING);

        return ATL::CAtlServiceModuleT< CMemoryDBModule, IDS_SERVICENAME >::PreMessageLoop(nShowCmd);

    }

#endif

 

 

你可能感兴趣的:(windows)