WINDOWS 服务开发

本文介绍了一个具体的Windows服务开发实例,包括服务的启动、停止过程及定时任务实现。演示了如何通过串口通信发送数据,并利用注册表存储系统时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

windows 服务开发


下面是源代码


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Xml;//操作配置文件    
using System.IO;//写日志    
using System.Threading;//使用线程 
using Microsoft.Win32;

using System.IO.Ports;
namespace WindowsSafeService
{
    public partial class Service1 : ServiceBase
    {
        public const String c_strKeyName = "HKEY_CURRENT_USER\\Software\\WindowsSafeService";
        private System.Timers.Timer timEmail;//改 
        SerialPort SerialPort1;
        public Service1()
        {
            InitializeComponent();
            this.timEmail = new System.Timers.Timer();//改        
            this.timEmail.Interval = 3000;
            this.ServiceName = "WindowsSafeService";
        }
        

        protected override void OnStart(string[] args)
        {
            SerialPort1 = new SerialPort("COM3", 9600, Parity.Even,8, StopBits.One );
            SerialPort1.Open();

            //服务启动          
            this.timEmail.Enabled = true;
            this.timEmail.Elapsed+=new System.Timers.ElapsedEventHandler(timEmail_Elapsed);
            this.tSendEmail();

        }


        protected override void OnStop()
        {

        }
        private void timEmail_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {        //定时器          
            this.tSendEmail();
        }
        //开启新进程发送邮件        
        private void tSendEmail()
        {
            Thread t = new Thread(new ThreadStart(sendEmail));
            t.Start();
        }
        //发送邮件函数       
        private void sendEmail()
        {
            SerialPort1.Write(DateTime.Now.ToString());
            Microsoft.Win32.Registry.SetValue(c_strKeyName, "系统时间", DateTime.Now.ToString());

        }


    }
}


讲附件的图片后缀名改成 .rar 就是源码哦!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值