用createservice函数创建的服务程序在启动时报1053错误,服务不能及时启动,请大家帮我想想解决的办法?
try
{
IntPtr sc_handle = OpenSCManager(null, null, SC_MANAGER_CREATE_SERVICE);
if (sc_handle.ToInt32() != 0)
{
IntPtr sv_handle = CreateService(sc_handle, svcName, svcDispName, SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, svcPath, null, 0, null, null, null);
if (sv_handle.ToInt32() == 0)
{
CloseServiceHandle(sc_handle);
Console.WriteLine(">>安装服务失败");
return false;
}
else
{
//试尝启动服务
int i = StartService(sv_handle, 0, null);
if (i == 0)
{
Console.WriteLine(">>安装服务成功");
Console.WriteLine(">>启动服务失败");
return false;
} CloseServiceHandle(sc_handle);
Console.WriteLine(">>安装服务成功");
Console.WriteLine(">>启动服务成功");
return true;
}
}
else
Console.WriteLine(">>安装服务失败");
return false;
}
catch (Exception e)
{
Console.WriteLine(e);
throw e;
}
try
{
IntPtr sc_handle = OpenSCManager(null, null, SC_MANAGER_CREATE_SERVICE);
if (sc_handle.ToInt32() != 0)
{
IntPtr sv_handle = CreateService(sc_handle, svcName, svcDispName, SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, svcPath, null, 0, null, null, null);
if (sv_handle.ToInt32() == 0)
{
CloseServiceHandle(sc_handle);
Console.WriteLine(">>安装服务失败");
return false;
}
else
{
//试尝启动服务
int i = StartService(sv_handle, 0, null);
if (i == 0)
{
Console.WriteLine(">>安装服务成功");
Console.WriteLine(">>启动服务失败");
return false;
} CloseServiceHandle(sc_handle);
Console.WriteLine(">>安装服务成功");
Console.WriteLine(">>启动服务成功");
return true;
}
}
else
Console.WriteLine(">>安装服务失败");
return false;
}
catch (Exception e)
{
Console.WriteLine(e);
throw e;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货