文件监控之FileSystemWatcher(c++)
文件监控之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++)相关推荐
- 使用文件监控对象FileSystemWatcher实现数据同步
使用文件监控对象FileSystemWatcher实现数据同步 原文 使用文件监控对象FileSystemWatcher实现数据同步 最近在项目中有这么个需求,就是得去实时获取某个在无规律改变的文本文 ...
- 谈谈C#文件监控对象FileSystemWatcher使用感受
谈谈C#文件监控对象FileSystemWatcher使用感受 2017年07月07日 14:52:32 savagelin 阅读数:3530 最近在项目中有这么个需求,就是得去实时获取某个在无规律改 ...
- C# FileSystemWatcher文件监控
对于一个需要管理本地文件的应用来说,监控文件的运行及修改状态十分重要,在运行中,我们如何知道文件的基本属性的变化? C#为我们提供了一个文件监控类(FileSystemWatcher),它定义了几个文 ...
- 详解C#使用FileSystemWatcher文件监控对象的感受
** 详解C#使用FileSystemWatcher文件监控对象的感受 ** 本文和大家一起来学习分享一下C#使用FileSystemWatcher文件监控对象,希望对你有帮助. 最近在项目中有这么个 ...
- C# FileSystemWatcher 多文件夹、多文件类型文件监控增加、修改、重命名和删除实例
在上一次讲过了FileSystemWatcher 实时监控文件的增加.修改.重命名和删除,具体怎么实现就不再去阐述,参考如下文 C# FileSystemWatcher 实时监控文件的增加.修改.重命 ...
- 文件监控——watchdog详解
文章目录 文件监控--watchdog详解 一.官方文档(需要细节选择去官网,需要了解和应用范例看本文即可) 二.watchdog安装 1. Installing from PyPI using pi ...
- zabbix之日志文件监控
一.日志item介绍 下面介绍zabbix另一个"重量级"的功能--日志文件监控,它最主要的是监控日志文件中有没有某个字符串的表达式,对应日志轮转与否,zabbix都支持. 在配 ...
- zabbix监控linux文件目录,zabbix之日志文件监控
一.日志item介绍 下面介绍zabbix另一个"重量级"的功能--日志文件监控,它最主要的是监控日志文件中有没有某个字符串的表达式,对应日志轮转与否,zabbix都支持. 在配置 ...
- python watchdog 同时检测到多个事件_python中watchdog文件监控与检测上传功能
引言 上一篇介绍完了观察者模式的原理,本篇想就此再介绍一个小应用,虽然我也就玩了一下午,是当时看observer正好找到的,以及还有Django-observer,但Django很久没用了,所以提下这 ...
最新文章
- 自动化测试(三)如何用python写一个函数,这个函数的功能是,传入一个数字,产生N条邮箱,产生的邮箱不能重复。...
- java for循环 暂停_类中的2个for循环不想在第一次迭代后迭代c [暂停]
- WAS6集群部署及初步测试
- vision画流程图的软件_产品流程图的定义,作用和画法
- dos下设置mysql密码_MySQL数据库之dos或wamp下修改mysql密码的具体方法
- js怎么把按钮往下移_Vue.js 实现计算器
- Android 开发者的 RxJava 详解(一)
- java排除文件夹某文件,.gitignore排除文件夹,但包括特定的子文件夹
- python读取文件并另存为_Python实现读取并保存文件的类
- python excel数据分析师培训_从零开始学可视化数据分析师就业课程(Excel、 MySQL、Power BI、Tableau、python、R)...
- 单片机定时器实验报告C语言,51单片机定时器实验报告.doc
- 常微分方程机敏问答简介
- 搭建企业级数据治理体系指南
- 提高组CSP-S初赛模拟试题整理
- NEXTCHIP-图像优化师
- 认识新华三官网官网下载网络模拟器HCL的安装了解HCL
- golang colly踩坑笔记
- H5 跳转Flutter APP问题:在Flutter中解决H5能够打开APP并接收H5传递的参数
- springboot毕设项目高考填报志愿综合参考系统1kc8i(java+VUE+Mybatis+Maven+Mysql)
- 诚之和:“世界第二富豪”贝索斯:20亿美金拿去花,别再骂我不管地球了
热门文章
- Linux读取pdf,pdf转txt
- EasyPoi导出图片
- Python可视化-县市按经纬度坐标在地图标记数值
- excel表格里的文字怎么换行_Excel表格VBA知识,文字框的常用属性,文本框录入数据必学...
- 会考html单标记有哪些,HTML 表单的标记
- 粘福卡多次扫,绝对真实!!!
- LGT8F328P 开发板arduino环境搭建及中断程序
- vue3项目中引入ts
- sup, inf 与 min, max 的区别
- “21天好习惯”第一期-10 鲁滨逊漂流记网页-2