Z3海波 2013-10-11 01:55 采纳率: 100%
浏览 2684
已采纳

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

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

  • 写回答

2条回答 默认 最新

  • oyljerry 2015-01-02 07: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);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序