• 使用windows服务和.NET FileSystemWatcher对象来监控磁盘文件目录的改变



    关于FileSystemWatcher 类的详细说明,大家可以去找找CSDN,或者在百度Google上搜下。

    至于使用windows服务和.NET FileSystemWatcher对象来监控磁盘文件目录的改变 我就直接贴代码,如果有不明白的请大家直接联系我,联系方式在文章的下面。

    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.IO;

    namespace WindowsService
    {
        
    partial class FileWatcherService : ServiceBase
        {
            
    public FileWatcherService()
            {
                InitializeComponent();
            }

            
    protected override void OnStart(string[] args)
            {
                
    // TODO: 在此处添加代码以启动服务。
                FileSystemWatcher watcher = new FileSystemWatcher();
                watcher.Filter 
    = "*.txt";
                watcher.IncludeSubdirectories 
    = true;   //指示监视是否应包含选定路径下的目录
                watcher.Created += new FileSystemEventHandler(watcher_FileCreated);
                watcher.Deleted 
    += new FileSystemEventHandler(watcher_FileDeleted);
                watcher.Changed 
    += new FileSystemEventHandler(watcher_FileChanged);
                watcher.Renamed 
    += new RenamedEventHandler(watcher_FileRenamed);
                watcher.Path 
    = @"C:\Temp";
                watcher.EnableRaisingEvents 
    = true;
            }

            
    void watcher_FileCreated(object sender, FileSystemEventArgs e)
            {
                WriteLog(DateTime.Now.ToString(
    "yyyy-MM-dd HH:ss:mm"+ " Create File:" + e.Name + "  File Path:" + e.FullPath);
            }

            
    void watcher_FileDeleted(object sender, FileSystemEventArgs e)
            {
                WriteLog(DateTime.Now.ToString(
    "yyyy-MM-dd HH:ss:mm"+ " Delete File:" + e.Name + "  File Path:" + e.FullPath);
            }

            
    void watcher_FileChanged(object sender, FileSystemEventArgs e)
            {
                WriteLog(DateTime.Now.ToString(
    "yyyy-MM-dd HH:ss:mm"+ " Change File:" + e.Name + "  File Path:" + e.FullPath);
            }

            
    void watcher_FileRenamed(object sender, FileSystemEventArgs e)
            {
                WriteLog(DateTime.Now.ToString(
    "yyyy-MM-dd HH:ss:mm"+ " Rename File:" + e.Name + "  File Path:" + e.FullPath);
            }

            
    private void WriteLog(string message)
            {
                FileStream fs 
    = new FileStream(@"C:\Log.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);
                StreamWriter sw 
    = new StreamWriter(fs);
                sw.BaseStream.Seek(
    0, SeekOrigin.End);
                sw.WriteLine(message);
                sw.Close();
            }

            
    protected override void OnStop()
            {
                
    // TODO: 在此处添加代码以执行停止服务所需的关闭操作。
            }
        }
    }

    另附广告:女朋友的淘宝网店,为她做宣传,希望大家别介意,http://iyseek.taobao.com  欢迎大家逛逛,嘿嘿!

    如有需要帮助,请联系MSN:zheng331773812@hotmail.com(上班时在线)   QQ:331773812

    欢迎大家共同交流!


  • 相关阅读:
    Can you feel my word?
    木语录
    走在风雨中
    我看平淡生活……
    Can you feel my word?
    我看平淡生活……
    留言本
    Python(七)之匿名函数lambda
    python之常用模块logging
    python(六)之面向对象
  • 原文地址:https://www.cnblogs.com/jsonzheng/p/2085066.html
Copyright © 2020-2023  润新知