导航

VB加载程序进入系统服务

Posted on 2007-04-14 16:57  pegger  阅读(1426)  评论(1编辑  收藏  举报
VB有2种方式可以加载程序进入系统进程:
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

接下来有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


在上述对应事件中写入自己想要做的事就OK了!!

实例文件下载
河南恒友科贸有限公司 
电话 :0371-53733453    传真:0371-65388972
地址:郑州市郑花路8号 E-mail:hengyousoft@QQ.com