我在尝试用VB6做一个Windows服务程序以下是我的部分代码:
Sub Main() Call InitServiceTable("MyService", AddressOf ServiceMain)
StartServiceCtrlDispatcher ServiceTable
End SubSub ServiceMain(ByVal argc As Long, ByVal argv As Long) ServiceStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS
ServiceStatus.dwCurrentState = SERVICE_START_PENDING
ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP Or SERVICE_ACCEPT_PAUSE_CONTINUE Or SERVICE_ACCEPT_SHUTDOWN
ServiceStatus.dwServiceSpecificExitCode = 0
ServiceStatus.dwWin32ExitCode = 0
ServiceStatus.dwCheckPoint = 0
ServiceStatus.dwWaitHint = 0
hStatus = RegisterServiceCtrlHandler("MyService", AddressOf ControlHandler)
If hStatus = 0 Then Exit Sub
ServiceStatus.dwCurrentState = SERVICE_RUNNING
Call SetServiceStatus(hStatus, ServiceStatus) While True
Sleep 5000
WendEnd Sub
安装之后,到控制面板的服务里启动它。结果弹出了对话框,上面写:“错误1053:服务没有及时响应启动或控制请求”这是什么原因啊?请朋友们帮帮忙。
http://vbwire.com/advanced/howto/service.asp
楼上,你的这篇文章不是讲述如何制作系统服务,而讲的是怎么安装系统服务。----------------------------------to dingyanwei:我也知道可以用NTSVC.OCX控件,但是具体的方法我不清楚----------------------------------这个问题不搞清楚真是很不舒服,所以还是请大家帮我看看,我在上面贴的代码,到底错在哪了?
VB6的应该不支持XP的
ControlHandler在那?
ServiceTable是全局定义的,ControlHandler与以上代码在同一个模块文件里。请帮帮我。
哦,我现在不在自己的电脑,所以发不了完整的源文件。等过几天我把完整的代码发出来,请你到时帮我看看哦。其实我就是按照一个VC的程序翻译成VB的,可是却总不成功,错在哪里摸不着头脑,所以很是郁闷。