使用FileSystemWatcher捕获系统文件状态

源代码:

using System;

using System.Collections.Generic;

using System.Linq; using System.Text;

using System.Threading.Tasks; using System.IO;

namespace ConsoleApplication138

{     class Program

{         static void Main(string[] args)

{

Watch(@"c:\t", "*.txt", true);

}

static void Watch(string path,string filter,bool includesubdirs)

{             using (FileSystemWatcher watcher=new FileSystemWatcher (path ,filter ))

{                 watcher.Created += watcher_createchangeddeleted;

watcher.Changed += watcher_createchangeddeleted;

watcher .Deleted +=watcher_createchangeddeleted;

watcher .Renamed +=watcher_Renamed;

watcher .Error +=watcher_Error;

watcher.IncludeSubdirectories = includesubdirs;

watcher.EnableRaisingEvents = true;

Console.WriteLine("LIstening for events -press <enter> to end");

Console.Read();             }         }

static void watcher_createchangeddeleted(object sender,FileSystemEventArgs e)

{             Console.WriteLine("File :{0} has been {1}", e.FullPath, e.ChangeType);         }

static void watcher_Renamed(object sender,RenamedEventArgs e)

{             Console.WriteLine("renamed:{0}->{1}", e.OldFullPath, e.FullPath);

}         static void watcher_Error(object sender,ErrorEventArgs e)

{             Console.WriteLine("error: " + e.GetException().Message);         }

} }

时间: 2024-11-01 21:44:36

使用FileSystemWatcher捕获系统文件状态的相关文章

保存和恢复activity的状态数据[转]

转自:here 一般来说,调用onPause()和onStop()方法后的activity实例仍然存在于内存中,activity中的所有信息和状态数据都不会消失,当activity重新回到前台后,所有的改变都会保留. 但是当内存系统内存不足时,调用onPause()和onStop()方法的activity可能被摧毁.此时内存中就不会存在有该activity实例对象了. 为了避免这种情况,我们可以覆盖onSaveInstanceState()方法来接受一个Bundle类型的参数,我们可以将该act

STM32F4_TIM输入波形捕获(脉冲频率、占空比)

Ⅰ.概述 本文基于上一篇文章“TIM输入波形捕获(脉冲频率)”的基础上进行拓展,上一篇文章主要是捕获波形的频率,本文主要拓展捕获波形的占空比. 笔者实验测试的方法和上一篇文章一样,通过信号发生器产生PWM信号,通过串口发送频率和占空比到上位机(上位机串口助手显示其数值).(没有信号发生器的朋友可以结合上一篇文章PWM输出做信号源:在同一块板子上也可以使用不同定时器,将PWM输出引脚接在捕获输入引脚) 实验现象:不同频率的实验现象请看上一篇文章(该文章提供的工程笔者也是进行了大量不同频率的测试,误

保存和恢复activity的状态数据自己实现

1 public class DemoActivity extends BaseActivity { 2 private CheckBox cb_gender; 3 private String temp; 4 private Button bt_changeor; 5 6 @Override 7 protected void onCreate(Bundle savedInstanceState) { 8 super.onCreate(savedInstanceState); 9 setCont

8.2.3.1 可变状态使用引用单元

要回答这个问题,我们需要能够创建一些要捕获的状态.一个方法是用 let mutable,但是,这样,并不能运行,因为这种可变值只能用于局部,不能被闭包捕获. 第二个方法是使用引用(ref)类型创建可变值,即引用单元(reference cell)的缩写,它是能够包含可变值的小对象(实际上,声明为 F# 的记录类型).要理解引用类型的原理,我们在 C# 中定义同样的类型,可以看到,相当简单: class Ref<T> { public Ref(T value) { Value = value;}

2015 年度新增开源软件排名TOP100

本榜单包含 2015 年开源中国新收录的 5977 款开源软件中,根据软件本身的关注度.活跃程度进行排名前 100 名的软件.从这份榜单中或许可以了解到最新业界的趋势. 1.SwitchyOmega 项目简介:SwitchyOmega 是 SwitchySharp 的新版本.这是一个 Chrome 浏览器用来切换不同代理的插件.SwitchyOmega 初次安装时会检查是否存在 SwitchySharp ,如果有的话则会自动升级设置,无须手动配置.如果您使用的是非谷歌应用商店版,或者无法自动升级

键盘钩子 用来截屏

.点击开始按钮 .a窗体隐藏,b窗体显示 scsysrq截图 .需要在桌面创建bc文件夹. 总的思路就是用钩子获取键盘信息 然后进行截图的线程控制 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Diagnostics;using System.Drawing;using System.Linq;using System.Runtime

Android的生命周期学习

掌握Android的生命周期对于如何一个刚刚接触Android初学者来说是至关重要的,在然后的开发中会给我留有更多的时刻余地,当自己正在认识Android中整个声明周期后,会编写出更加的流畅的程序 应用程序会拥有更好的用户体验的效果 活动状态 在Android中活动中生命周期有四个状态 1.运行状态也称为显示状态:当一个活动处于或者返回栈顶位置,这时候的活动就是处于运行状态 2.暂停状态:当一个活动不再处于栈顶位置时,但是仍然可见,则该活动就进入了暂停状态 3.停止状态:当一个活动不再栈顶位置,

DrawDib函数组的使用

DrawDib函数组的使用 Microsoft的针对与设备无关位图(DIB位图),在其WIN32 SDK的Multimedia中提供了一组绘制DIB位图的高性能函数组──DrawDib函数组.DrawDib函数组是一组不依赖于图形设备接口(GDI)函数,而直接操作显存的函数组.它们支持8位.16位.24位和32位图象深度的DIB.总的来说,DrawDib函数组类似于StretchDIBits函数,它们都提供了将图象拉伸和抖动的功能,然而,DrawDib函数组还支持图象的解压.数据流以及更多的显示

AVICAP 中文

Microsoft? Video for Windows? (VFW) 提供的函数可以让应用程序去处理视频数据. VFW 在16位Windows的时候就被引入了.VFW(Video For Windows)1.0版本在1992年11月发布,它是为在Windows3.1下将电影最优化地捕获到磁盘上而发布的.从那以后,视频捕获技术就越来越受到关注了.VFW技术同样受到了很多批评,它捕获的数据保存到磁盘上会占用大量磁盘空间,每秒数据量超过20M,同时需要大量的客户端支撑软件,VFW体系架构上的不足在视