
C# WinForm 监视文件变化程序
然后给这个FileSystemWatcher对象取一个name就叫fileSystemWatcher好了。
同时给load事件添加一个startMonitor()方法
发布日期:2021-05-06 23:30:04
浏览次数:7
分类:技术文章
本文共 1585 字,大约阅读时间需要 5 分钟。
C# WinForm 监视文件变化程序
前言
最近做项目,遇到一个需求,要求是能监控windows系统中某个文本文件的变化,一旦文件变化,要能捕获到这个事件,然后做出相应。实现起来也很简单,见下文。
效果图
演示效果如下:
当watchme.txt文件内容发生变化,程序能够检测到这个事件,捕获变化文件的路径,为后续读取文件内容做相应的逻辑处理提供前提条件。
步骤
第一步、创建FileSystemWatcher对象
在工具箱中找到FileSystemWatcher对象,然后拖到窗体中。

第二步、创建窗体的Load事件
选中窗体后,在右侧编辑框中选中事件(闪电图标),然后双击生成load方法。

// 窗体启动事件代码 private void Form1_Load(object sender, EventArgs e) { startMonitor();//开始监视:文件创建 }
第三步、编写startMonitor()函数
直接贴代码好了:
// 监视函数 private void startMonitor() { String path = @"D:\demo";//需要监控文件的路径 this.fileSystemWatcher = new FileSystemWatcher(); this.fileSystemWatcher.Path = path; this.fileSystemWatcher.Filter = "*.txt";//需要监控的文件类型Filter可以包含多种类型.doc,甚至access数据库的mdb文件也可以。 this.fileSystemWatcher.Changed += new System.IO.FileSystemEventHandler(this.Changed);//这个Changed函数是要自己写的。 this.fileSystemWatcher.IncludeSubdirectories = true; this.fileSystemWatcher.SynchronizingObject = this; this.fileSystemWatcher.EnableRaisingEvents = true; }
第四步、编写Changed()函数
Changed函数是你自己定义的,用于处理你捕获到这个事件后处理的逻辑。直接贴代码好了:
// 这里开始就是写你捕获到这个文件变化后,想要进行的逻辑处理 private void Changed(object sender, System.IO.FileSystemEventArgs e) { lock (this) { //这里开始就是写你捕获到这个文件变化后,想要进行的逻辑处理 //是读取文件内容,解析后,写入数据库啊,还是通过接口发送啊等等,看你实际需求。 MessageBox.Show(e.FullPath, "提示"); } }
结束
一般这种监控程序都要搭配最小化托盘、开机自启等常规操作,这些做法后续有空我就补上~。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年03月27日 18时37分37秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Mac系统投屏到电视机的方法
2019-03-03
【Docker&ARM】ARM架构服务器上docker的安装
2019-03-03
【Tinyproxy】CentOS7.X http代理tinyproxy的安装配置与使用
2019-03-03
php--自定义错误处理函数的使用方法
2019-03-03
php--异常处理主动抛出异常的使用方法
2019-03-03
php--class static
2019-03-03
php--匿名函数的使用
2019-03-03
php--json_decode
2019-03-03
php--class的工厂模式的示例
2019-03-03
php教程--案例20(用户登录)
2019-03-03
jQuery练习t76
2019-03-03
jQuery练习t78
2019-03-03
jQuery练习t80
2019-03-03
jQuery练习t81
2019-03-03
jQuery中使用animate方法替代其他动画方法
2019-03-03
jQuery练习t85
2019-03-03
jQuery练习t86
2019-03-03
jQuery练习t88
2019-03-03
jQuery练习t90
2019-03-03
jQuery练习t110
2019-03-03