我的服务已经安装成功了 
启动的代码如下:   ssStatus.dwControlsAccepted = true;
   SetServiceStatus(sshStatusHandle,&ssStatus);  if(StartServiceCtrlDispatcher(dispatchTable)) log.write("StartServiceCtrlDispatcher Complete.");
  else 
  {
    log.write("StartServiceCtrlDispatcher failed.");
    FormatMessageA( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, 
                    GetLastError(), NULL, (LPSTR)&MsgErr, 0, NULL );
    log.write(MsgErr);
  }还是那个错误:[10811703] StartServiceCtrlDispatcher failed.
[10811703] 服务进程无法连接到服务控制器上。
安装之后在控制面板里面的 服务 可以启动

解决方案 »

  1.   

    安装的代码如下:
     if(!_wcsicmp(StrInstall, lpArgv[1]+1)) 
         {
           log.write("Install specify.");
           //CmdInstalService();      if(!GetModuleFileNameA(NULL,temp,sizeof(temp))) { log.write("GetMouduleFileName failed.");  WinMainCleanup(); return 0; }      // SC_HANDLE  schService=NULL, schSCManager=NULL;
          schSCManager = OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);
         if(schSCManager) 
         {
           log.write("OpenSCManager 成功");
           // 打开成功才创建
          schService = 
           CreateServiceA( schSCManager, ServiceName, ServiceName"(Dsp)",
                           SERVICE_ALL_ACCESS,SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START,SERVICE_ERROR_NORMAL, 
                           temp,NULL,NULL,NULL,NULL,NULL  );
           if(schService)
           {
             log.write("CreateService "ServiceName" 成功");
             CloseServiceHandle(schService); schService = NULL;
           }
           else 
           { 
             log.write("CreateService "ServiceName" failed.");         FormatMessageA( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, 
                             GetLastError(), NULL, (LPSTR)&MsgErr, 0, NULL );
             log.write(MsgErr);
             
             WinMainCleanup(); return 0; 
           }
           CloseServiceHandle(schSCManager); schSCManager = NULL;
         }
         else { log.write("OpenSCManager failed.");  WinMainCleanup(); return 0; }     log.write("");
         log.write("完成了服务的安装");
         log.write("");     }
      

  2.   

    StartService启动另外一个服务成功了,但是启动自己本身还是不能启动