关于服务启动exe的问题,请教各位大虾![错误1053:服务没有及时响应启动或控制请求.]

时间:2022-10-05 17:20:44
我写了一个exe,想把这个exe注册为服务运行,通过代码我已经把这个exe注册为了一个服务.注册为服务的代码如下:

Public Function SetNTService() As Long
Dim hSCManager As Long
Dim hService As Long, DomainName As String

hSCManager = OpenSCManager(0&, 0&, _
                       SC_MANAGER_CREATE_SERVICE)
If hSCManager Then
' Install service to manual start. To set service to autostart
' replace SERVICE_DEMAND_START to SERVICE_AUTO_START
    hService = CreateService(hSCManager, StrPtr(Service_Name), _
                       StrPtr(Service_Display_Name), SERVICE_ALL_ACCESS, _
                       SERVICE_WIN32_OWN_PROCESS + SERVICE_INTERACTIVE_PROCESS, _
                       SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, _
                       StrPtr(App.Path & Service_File_Name), 0&, _
                       0&, 0&, StrPtr("LocalSystem"), _
                       StrPtr(""))
    If hService Then
        ' Add service description. This will fail on Windows NT, it is reason for On Error.
        On Error Resume Next
        ChangeServiceConfig2 hService, SERVICE_CONFIG_DESCRIPTION, StrPtr(Service_Description)
        On Error GoTo 0

        CloseServiceHandle hService
    Else
        SetNTService = Err.LastDllError
    End If
    CloseServiceHandle hSCManager
Else
    SetNTService = Err.LastDllError
End If
End Function

但是目前的问题是我在服务中想启动这个服务时总是报错
错误1053:服务没有及时响应启动或控制请求.
我看到有些朋友也遇到了类似的问题,我的exe是以窗体启动的,是不是exe中要写一些响应服务启动的代码呢?请教各位大虾有谁写过,我估计问题就出在这里,麻烦大虾们赐教!
还想请教的是,怎么样才可以使我服务启动的exe的进程在进程管理器中不被杀掉呢?比如当点了结束进程时提示这是系统关键进程,无法删除之类的.

5 个解决方案

#1


用vb写服务,你搜索一下以前的帖
好象要用到微软的控件,纯代码比较麻烦

#2


微软的控件是将exe注册成服务,现在我已经将我的exe注册成服务了!但是启动服务的时候会报[错误1053:服务没有及时响应启动或控制请求.] ,我想应该是我的exe被服务启动后没有能回复一个服务的消息,不知道要在exe里面做什么样的操作才能不报这样的错误!

#3


谢谢大家!自己解决了!

#4


代码呢
拿来大家看看那
吸收下经验

#5


怎么解决的呀,也要这么用呢,学习学习,谢谢!

#1


用vb写服务,你搜索一下以前的帖
好象要用到微软的控件,纯代码比较麻烦

#2


微软的控件是将exe注册成服务,现在我已经将我的exe注册成服务了!但是启动服务的时候会报[错误1053:服务没有及时响应启动或控制请求.] ,我想应该是我的exe被服务启动后没有能回复一个服务的消息,不知道要在exe里面做什么样的操作才能不报这样的错误!

#3


谢谢大家!自己解决了!

#4


代码呢
拿来大家看看那
吸收下经验

#5


怎么解决的呀,也要这么用呢,学习学习,谢谢!