我的服务已经安装成功了
启动的代码如下: 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] 服务进程无法连接到服务控制器上。
安装之后在控制面板里面的 服务 可以启动
启动的代码如下: 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] 服务进程无法连接到服务控制器上。
安装之后在控制面板里面的 服务 可以启动
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(""); }