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
怎么解决的呀,也要这么用呢,学习学习,谢谢!