2 w57132855 w57132855 于 2013.10.11 09:55 提问

程序发布——把mfc程序(带有dll)做成安装包, 安装过程中自动安装windows服务

如题 怎么实现??? 有高手留一下联系方式么~~跪求
如题 怎么实现??? 有高手留一下联系方式么~~跪求如题 怎么实现???

2个回答

oyljerry
oyljerry   Ds   Rxr 2015.01.02 15:46
已采纳
 //打开服务控制管理器
    SC_HANDLE hSCM = ::OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
    if (hSCM == NULL)
    {
        return FALSE;
    }

    // Get the executable file path
    TCHAR szFilePath[MAX_PATH];
    ::GetModuleFileName(NULL, szFilePath, MAX_PATH);

    //创建服务
    SC_HANDLE hService = ::CreateService(
        hSCM, szServiceName, szServiceName,
        SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS,
        SERVICE_AUTO_START, SERVICE_ERROR_NORMAL,
        szFilePath, NULL, NULL, L"", NULL, NULL);

    if (hService == NULL)
    {
        ::CloseServiceHandle(hSCM);
        return FALSE;
    }

    //改变服务描述
    SERVICE_DESCRIPTION Description;
    TCHAR szDescription[1024];
    ZeroMemory(szDescription, 1024);
    ZeroMemory(&Description, sizeof(SERVICE_DESCRIPTION));
    lstrcpy(szDescription, _T("服務的描述."));
    Description.lpDescription = szDescription;
    ::ChangeServiceConfig2(hService, SERVICE_CONFIG_DESCRIPTION, &Description);
    //开始服务
    ::StartService(hService,0,NULL);
    ::CloseServiceHandle(hService);
    ::CloseServiceHandle(hSCM);
VisualEleven
VisualEleven   Ds   Rxr 2014.11.07 19:01

OpenSCManager/CreateService/...

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!