文件监控之FileSystemWatcher(c++)

  为了监控web程序的静态文件是否被恶意改动,所以学习了一下FileSystemWatcher  类对文件的监控,由于还在初级阶段,这里只贴一下关于FileSystemWatcher学习的一些代码。

  具体代码如下:

#using <System.dll>
#include <iostream>using namespace std;
using namespace System;
using namespace System::IO;
using namespace System::Security::Permissions;public ref class Watcher
{
private:// Define the event handlers.static void OnChanged( Object^ /*source*/, FileSystemEventArgs^ e ){// Specify what is done when a file is changed, created, or deleted.Console::WriteLine( "File: {0} {1}", e->FullPath, e->ChangeType );}static void OnRenamed( Object^ /*source*/, RenamedEventArgs^ e ){// Specify what is done when a file is renamed.Console::WriteLine( "File: {0} renamed to {1}", e->OldFullPath, e->FullPath );}public:[PermissionSet(SecurityAction::Demand, Name="FullTrust")]int static run(){//array<String^>^args = System::Environment::GetCommandLineArgs();//创建一个FileSystemWatcher并设置它的属性.FileSystemWatcher^ fsWatcher = gcnew FileSystemWatcher( );fsWatcher->Path = "C:\\files";/* Watch for changes in LastAccess and LastWrite times, andthe renaming of files or directories. */fsWatcher->NotifyFilter = static_cast<NotifyFilters>(//监听文件的以下属性 按需求添加  这里我添加了一些常用的NotifyFilters::LastAccess | //文件或文件夹上一次打开的日期。 NotifyFilters::LastWrite | //上一次向文件或文件夹写入内容的日期NotifyFilters::FileName | //文件名NotifyFilters::DirectoryName | //目录名NotifyFilters::Size); //大小//监听子目录fsWatcher->IncludeSubdirectories = true;// Only watch text files.//fsWatcher->Filter = "*.txt";// Add event handlers.fsWatcher->Changed += gcnew FileSystemEventHandler( Watcher::OnChanged );fsWatcher->Created += gcnew FileSystemEventHandler( Watcher::OnChanged );fsWatcher->Deleted += gcnew FileSystemEventHandler( Watcher::OnChanged );fsWatcher->Renamed += gcnew RenamedEventHandler( Watcher::OnRenamed );// Begin watching.fsWatcher->EnableRaisingEvents = true;// Wait for the user to quit the program.Console::WriteLine( "Press \'q\' to quit the sample." );while ( Console::Read() != 'q' );return 0;}
};int main() {Watcher::run();
}

过程 1.首先创建FileSystemWatcher 对象  用来设置一些属性以及添加监听事件

   2.设置监听目录

   3.设置监听文件的属性

   4.设置监听子目录

   5.添加监听事件

   6.开始监听

上面的sample代码可以在MSDN上找到,如果有不确定的地方,可以查看文档

文件监控之FileSystemWatcher(c++)相关推荐

  1. 使用文件监控对象FileSystemWatcher实现数据同步

    使用文件监控对象FileSystemWatcher实现数据同步 原文 使用文件监控对象FileSystemWatcher实现数据同步 最近在项目中有这么个需求,就是得去实时获取某个在无规律改变的文本文 ...

  2. 谈谈C#文件监控对象FileSystemWatcher使用感受

    谈谈C#文件监控对象FileSystemWatcher使用感受 2017年07月07日 14:52:32 savagelin 阅读数:3530 最近在项目中有这么个需求,就是得去实时获取某个在无规律改 ...

  3. C# FileSystemWatcher文件监控

    对于一个需要管理本地文件的应用来说,监控文件的运行及修改状态十分重要,在运行中,我们如何知道文件的基本属性的变化? C#为我们提供了一个文件监控类(FileSystemWatcher),它定义了几个文 ...

  4. 详解C#使用FileSystemWatcher文件监控对象的感受

    ** 详解C#使用FileSystemWatcher文件监控对象的感受 ** 本文和大家一起来学习分享一下C#使用FileSystemWatcher文件监控对象,希望对你有帮助. 最近在项目中有这么个 ...

  5. C# FileSystemWatcher 多文件夹、多文件类型文件监控增加、修改、重命名和删除实例

    在上一次讲过了FileSystemWatcher 实时监控文件的增加.修改.重命名和删除,具体怎么实现就不再去阐述,参考如下文 C# FileSystemWatcher 实时监控文件的增加.修改.重命 ...

  6. 文件监控——watchdog详解

    文章目录 文件监控--watchdog详解 一.官方文档(需要细节选择去官网,需要了解和应用范例看本文即可) 二.watchdog安装 1. Installing from PyPI using pi ...

  7. zabbix之日志文件监控

    一.日志item介绍  下面介绍zabbix另一个"重量级"的功能--日志文件监控,它最主要的是监控日志文件中有没有某个字符串的表达式,对应日志轮转与否,zabbix都支持. 在配 ...

  8. zabbix监控linux文件目录,zabbix之日志文件监控

    一.日志item介绍 下面介绍zabbix另一个"重量级"的功能--日志文件监控,它最主要的是监控日志文件中有没有某个字符串的表达式,对应日志轮转与否,zabbix都支持. 在配置 ...

  9. python watchdog 同时检测到多个事件_python中watchdog文件监控与检测上传功能

    引言 上一篇介绍完了观察者模式的原理,本篇想就此再介绍一个小应用,虽然我也就玩了一下午,是当时看observer正好找到的,以及还有Django-observer,但Django很久没用了,所以提下这 ...

最新文章

  1. 自动化测试(三)如何用python写一个函数,这个函数的功能是,传入一个数字,产生N条邮箱,产生的邮箱不能重复。...
  2. java for循环 暂停_类中的2个for循环不想在第一次迭代后迭代c [暂停]
  3. WAS6集群部署及初步测试
  4. vision画流程图的软件_产品流程图的定义,作用和画法
  5. dos下设置mysql密码_MySQL数据库之dos或wamp下修改mysql密码的具体方法
  6. js怎么把按钮往下移_Vue.js 实现计算器
  7. Android 开发者的 RxJava 详解(一)
  8. java排除文件夹某文件,.gitignore排除文件夹,但包括特定的子文件夹
  9. python读取文件并另存为_Python实现读取并保存文件的类
  10. python excel数据分析师培训_从零开始学可视化数据分析师就业课程(Excel、 MySQL、Power BI、Tableau、python、R)...
  11. 单片机定时器实验报告C语言,51单片机定时器实验报告.doc
  12. 常微分方程机敏问答简介
  13. 搭建企业级数据治理体系指南
  14. 提高组CSP-S初赛模拟试题整理
  15. NEXTCHIP-图像优化师
  16. 认识新华三官网官网下载网络模拟器HCL的安装了解HCL
  17. golang colly踩坑笔记
  18. H5 跳转Flutter APP问题:在Flutter中解决H5能够打开APP并接收H5传递的参数
  19. springboot毕设项目高考填报志愿综合参考系统1kc8i(java+VUE+Mybatis+Maven+Mysql)
  20. 诚之和:“世界第二富豪”贝索斯:20亿美金拿去花,别再骂我不管地球了

热门文章

  1. Linux读取pdf,pdf转txt
  2. EasyPoi导出图片
  3. Python可视化-县市按经纬度坐标在地图标记数值
  4. excel表格里的文字怎么换行_Excel表格VBA知识,文字框的常用属性,文本框录入数据必学...
  5. 会考html单标记有哪些,HTML 表单的标记
  6. 粘福卡多次扫,绝对真实!!!
  7. LGT8F328P 开发板arduino环境搭建及中断程序
  8. vue3项目中引入ts
  9. sup, inf 与 min, max 的区别
  10. “21天好习惯”第一期-10 鲁滨逊漂流记网页-2