使用Microsoft提供的NTSVC.OCX控件,VB也可以将你的应用程序做成Service服务。

vb应用程序做为系统服务 1.在windows 9x系统下做为服务   运行regedit  HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Runserive 新建reg_sz类型的字符串标题随意,值为要做为服务的程序完整路径名包括文件名和扩展名。2.在windows nt及 windows 2000下做为服务Installation:-> Cop 阅读详情

NTSVC.OCX控件,可以在网上搜索得到,在这里我就只介绍一下用法。

使用这个控件注册成Service服务的时候有个需要注意的,如果我们不使用/i或者/u参数,那么建立的Service服务会因为超时而不能启动。所以在注册Service服务的时候,必须带/i或/u参数。

1. 引用控件
选择“工程”-“引用”-“Microsoft NT Service Control”,如果没有,请先将NTSVC.OCX拷贝到%System32%/下,然后再引用对话框中选择浏览,添加该控件。

2. 主要代码
Private Sub Form_Load()
    On Error GoTo ServiceError
    '安装Service服务
    If Command = "/i" Then
        NTService.Interactive = True
        If NTService.Install Then
            NTService.SaveSetting "Parameters", "TimerInterval", "300"
            MsgBox NTService.DisplayName & ": installed successfully"
        Else
            MsgBox NTService.DisplayName & ": failed to install"
        End If
        End
    '删除Service服务
    ElseIf Command = "/u" Then
        If NTService.Uninstall Then
            MsgBox NTService.DisplayName & ": uninstalled successfully"
        Else
            MsgBox NTService.DisplayName & ": failed to uninstall"
        End If
        End
    End If
    Timer.Interval = CInt(NTService.GetSetting("Parameters", "TimerInterval", "300"))
    NTService.ControlsAccepted = svcCtrlPauseContinue
    NTService.StartService
    Exit Sub
ServiceError:
    Call NTService.LogEvent(svcMessageError, svcEventError, "[" & Err.Number & "] " & Err.Description)
End Sub

'Unload the Service
Private Sub Form_Unload(Cancel As Integer)
    If Not StopService Then
        If MsgBox("Are you sure you want to unload the service?..." & vbCrLf & "the service will be stopped", vbQuestion + vbYesNo, "Stop Service") = vbYes Then
            NTService.StopService
            Label1.Caption = "Stopping"
            Cancel = True
        Else
            Cancel = True
        End If
    End If
End Sub

Private Sub NTService_Continue(Success As Boolean)
    On Error GoTo ServiceError
    Timer.Enabled = True
    Success = True
    NTService.LogEvent svcEventInformation, svcMessageInfo, "Service continued"
    Exit Sub
ServiceError:
    NTService.LogEvent svcMessageError, svcEventError, "[" & Err.Number & "] " & Err.Description
End Sub

Private Sub NTService_Control(ByVal mEvent As Long)
    On Error GoTo ServiceError
    Exit Sub
ServiceError:
    NTService.LogEvent svcMessageError, svcEventError, "[" & Err.Number & "] " & Err.Description
End Sub

Private Sub NTService_Pause(Success As Boolean)
    On Error GoTo ServiceError
    Timer.Enabled = False
    NTService.LogEvent svcEventError, svcMessageError, "Service paused"
    Success = True
    Exit Sub
ServiceError:
    NTService.LogEvent svcMessageError, svcEventError, "[" & Err.Number & "] " & Err.Description
End Sub

Private Sub NTService_Start(Success As Boolean)
    On Error GoTo ServiceError
    Success = True
    Exit Sub
ServiceError:
    NTService.LogEvent svcMessageError, svcEventError, "[" & Err.Number & "] " & Err.Description
End Sub

Private Sub NTService_Stop()
    On Error GoTo ServiceError
    StopService = True
    Unload Me
ServiceError:
    NTService.LogEvent svcMessageError, svcEventError, "[" & Err.Number & "] " & Err.Description
End Sub

3. 如果是有其他的控件触发Service服务的Install和Uninstall,可以采用Shell或者WinExec来处理。
先声明函数
Public Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long
Public Const SW_HIDE = 0
使用,比如用CheckBox触发
a.安装
    Call WinExec(App.EXEName & " /i", SW_HIDE)

b.卸载
    Call WinExec(App.EXEName & " /u", SW_HIDE)

VB6开发的图像文字识别,采用OCX控件,希望对大家有所启发.rar 采用ocx控件实现的vb6图像文字识别程序,亲测好用!!! 立即下载

相关推荐

NTSVC.OCX制作服务的控件

见一些人找这个控件,网上好像不大容易找了,用于做服务的,用的人应该都知道

如何利用VB编写NT服务程序

一、NT服务程序    所谓NT服务,实际上就是一个可以在系统启动时自动在一定身份下启动的伴随系统长时间存在的进程。象FTP server、HTTP server、脱机打印等都是采用NT服务的形式提供的。这实际上类似Unix的root daemon进程。NT服务归纳起来,NT服务又以下几个特征:1、可以自启动,不需要交互启动。这对于服务器来说是一个重要的特征。当然,你可以决定服务是否自启动,甚至可

shanhe的专栏 5382

NTSVC(原创VB6上可用)

如何利用VB编写NT服务程序 一般认为编写NT服务需要使用C/C++来实现,VC6利用ATL向导来提供一个基本的服务框架。具体实现步骤为:FileàNew…àATL COM AppWizardàserviceàFinish.但是使用VC编写NT服务需要编写太多的代码,这也意味着需要太多的调试、维护。实际上,NT服务不是必须由C/C++才可以编写的,实际上可以由任何能够实现上一节几个特点的任何语言实现,包括VB。 (VB6调试通过)

[VB][WIN]如何利用VB编写NT服务程序-NTSVC.OCX

如何利用VB编写NT服务程序-NTSVC.OCX一、NT服务程序    所谓NT服务,实际上就是一个可以在系统启动时自动在一定身份下启动的伴随系统长时间存在的进程。象FTP server、HTTP server、脱机打印等都是采用NT服务的形式提供的。这实际上类似Unix的root daemon进程。NT服务归纳起来,NT服务又以下几个特征:1、可以自启动,不需要交互启动。这对于服务器来说是一个重要的特征。当然,你可以决定服务是否自启动,甚至可以屏蔽某个服务。    2、NT服务没有用户界面,基本上类似一个

王德封-逐浪 4419

ntsvc.ocx,VB制作Windows服务

如何使用,请看文章《VB6用 ntsvc.ocx编写Windows服务(NT服务)程序》http://www.xiaoyaolife.com/Article/View.aspx?ID=284

NTSVC.ocx 服务

运行 VisualBasic 应用程序作为 WindowsNT 服务

VB 在NT系统中安装服务

mServicesControl.bas 'UNKNOWN'**************************************' Name: NT Service Module (Run EXE as Se' rvice)' Descrīption:Use this modified code fro' m the MSDN CDs to add your executable ...

資料為我做事 256

VB NTSVC.ocx控件添加系统服务.rar

VB NTSVC.ocx控件添加系统服务,将会在系统的服务中添加应用程序对应的项目,在很多时候很有用处,这个VB示例将给你演示添加系统服务功能的实现,基于NTSVC.ocx控件。

VB中使用DDE实现两个应用程序之间的通讯

工程:Main加载一个pictureBox,命名为picDDE加载一个commandButton,命名为cmdSendMessageOption ExplicitPrivate Sub LinkAndSendMessage(ByVal Msg As String)    Dim t As Long        picDDE.LinkMode = 0    picDDE.LinkTopic = "

^_^-Beluga, ^_^-Stefli 7398

VB程序设置为系统服务

VB程序设置为系统服务的几种办法 日期:2007-09-22 把VB注册为系统服务,这样每次在登陆前就已经启动你的程序,这对网站服务器,SMTP等 的架设是非常有用的。这里我介绍几种把VB应用程序注册为系统服务的方法。在windows95上的方 法就不讲了,非常简单,修改注册表就OK,这里主要是说在windows NT(2000,xp)等系统上注 册服务的方法,借用Chris J. Duke的话说,在95上只需要一步就行,但是在windows NT系统上 完全是另外一种“动物”,甚至可以称之为“野兽”。

NTService_ntsvc.ocx注册_visualbasic_

NTSVC.ocx控件添加系统服务,将会在系统的服务中添加应用程序对应的项目

上一篇: 全面了解系统中 svchost.exe文件
下一篇: Linux支持ASP 安装配置手册
stefli
博客等级 码龄24年 203粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值