日期:2012-12-26  浏览次数:20404 次

 

无论windows服务执行什么样的处理,创建与安装服务的步骤都十分相似.visual studio提供了windows services项目类型,利用它可以迅速创建windows服务,一下介绍简单的步骤:

1)新建项目,在new project对话框中,选择windows服务图标,在对话框name字段输入服务名称,确定.visual studio将显示服务的设计视图.

2)在服务属性里面进行设置:servicebase类的属性如下:

              a.autolog  获得或设置指定服务是否在时间日志中自动报告start,stop,pause和contunue操作的布尔值

              b.canhandlepowerevent  获得或设置指定服务是否可以对应于电源状态变化的布尔值,如果服务提供了onpowreevent方法,该属性应设置为true,

              c.canstop  获得或设置服务是否可以停止的布尔值,如果提供了onstop方法,则设置为true

              d.servicename  获得或设置使系统识别服务的名称

编写你的服务信息,例如:

Imports System.ServiceProcess
Imports System.Threading
Imports System.Data.SqlClient

Public Class Service1
    Inherits System.ServiceProcess.ServiceBase
    Private Shared bstop As Boolean
    Private mythread As Thread
#Region " 组件设计器生成的代码 "

   

    '组件设计器所必需的
    Private components As System.ComponentModel.IContainer

    '注意: 以下过程是组件设计器所必需的
    ' 可以使用组件设计器修改此过程。
    ' 不要使用代码编辑器修改它。
  
    Private Sub startserver()
        bstop = False
        Dim OrderForm, ddh, matnrh As String
        Dim MyLocalDataReader As SqlDataReader
        Dim MyprdDataReader As SqlDataReader
        Dim mykc As SqlDataReader
        Dim kcsl, prdsl, tempsl As Long
        Dim flag As Boolean = False
        Dim mat As String
        Dim vrm As Long
        While Not bstop
            Try
                SqlCMDtemp.CommandText = "delete from tb_ty_cctemp"
                SqlCMDtemp.Connection = SqlConnection_local
                SqlCMDtemp.ExecuteNonQuery()
                If SqlCMDtemp.ExecuteNonQuery() = 0 Then
                    mythread.Sleep(180000)
                End If
          End While
                mythread.Sleep(180000)
            Catch ex As Exception
                bstop = True
            End Try
        End While
    End Sub
    Private Sub stopserver()
        Dim i As Integer = 0
        bstop = True
        Try
            SqlConnection_l