VB有2种方式可以加载程序进入系统进程:
1.使用纯API方式.下回再写,太麻烦~~~
2.使用控件NTSVC.OCX加载
现在简单说说如何使用NTSVC.OCX
首先在VB工程中加载部件NTSVC.OCX,在窗体中放置该控件.
设置NTService1的几个属性:
DisplayName(该属性的含义是在服务中显示的名字)
ServiceName(该属性的含义是服务的名字,设置它后,我们可以使用控制台命令来开启和停止该服务)
StarMode(该属性的含义是启动方式,2-自动启动,3-默认启动,4-不启动)
ControlsAccepted(该属性的含义是服务是否运行有停止,暂停)
其他的属性可写可不写,我们就默认他吧!
我们在Form_Load事件中写入
接下来有4个控件的事件,分别是服务运行时,暂停时,开始时,停止时所产生的事件
在上述对应事件中写入自己想要做的事就OK了!!
实例文件下载
1.使用纯API方式.下回再写,太麻烦~~~
2.使用控件NTSVC.OCX加载
现在简单说说如何使用NTSVC.OCX
首先在VB工程中加载部件NTSVC.OCX,在窗体中放置该控件.
设置NTService1的几个属性:
DisplayName(该属性的含义是在服务中显示的名字)
ServiceName(该属性的含义是服务的名字,设置它后,我们可以使用控制台命令来开启和停止该服务)
StarMode(该属性的含义是启动方式,2-自动启动,3-默认启动,4-不启动)
ControlsAccepted(该属性的含义是服务是否运行有停止,暂停)
其他的属性可写可不写,我们就默认他吧!
我们在Form_Load事件中写入
Dim strdisplayname As String
strdisplayname = NTService1.DisplayName
If Command = "-i" Then '这个是命令参数,表示在运行该程序的时候带参数-i,注册服务
NTService1.Interactive = True
If NTService1.Install Then
Call NTService1.SaveSetting("parameters", "timerinterval", "500")
End If
Else
If Command = "-u" Then '带命令参数-u,注销服务
NTService1.Uninstall
End
Else
End If
End If
Timer1.Interval = CInt(NTService1.GetSetting("parameters", "timerinterval", "500")) 'Timer1控件的响应时间为500毫秒
NTService1.StartService '启动服务
Exit Sub
strdisplayname = NTService1.DisplayName
If Command = "-i" Then '这个是命令参数,表示在运行该程序的时候带参数-i,注册服务
NTService1.Interactive = True
If NTService1.Install Then
Call NTService1.SaveSetting("parameters", "timerinterval", "500")
End If
Else
If Command = "-u" Then '带命令参数-u,注销服务
NTService1.Uninstall
End
Else
End If
End If
Timer1.Interval = CInt(NTService1.GetSetting("parameters", "timerinterval", "500")) 'Timer1控件的响应时间为500毫秒
NTService1.StartService '启动服务
Exit Sub
接下来有4个控件的事件,分别是服务运行时,暂停时,开始时,停止时所产生的事件
Private Sub ntservice1_control(ByVal eventid As Long)
On Error GoTo err_control
Exit Sub
err_control:
End Sub
Private Sub ntservice1_pause(success As Boolean)
On Error GoTo err_pause
Exit Sub
err_pause:
End Sub
Private Sub ntservice1_start(success As Boolean)
On Error GoTo err_start
Exit Sub
err_start:
End Sub
Private Sub ntservice1_stop()
On Error GoTo err_stop
Exit Sub
err_stop:
End Sub
On Error GoTo err_control
Exit Sub
err_control:
End Sub
Private Sub ntservice1_pause(success As Boolean)
On Error GoTo err_pause
Exit Sub
err_pause:
End Sub
Private Sub ntservice1_start(success As Boolean)
On Error GoTo err_start
Exit Sub
err_start:
End Sub
Private Sub ntservice1_stop()
On Error GoTo err_stop
Exit Sub
err_stop:
End Sub
在上述对应事件中写入自己想要做的事就OK了!!
实例文件下载