C# 监控 Windows 文件夹

简介: C# 监控 Windows 文件夹

您是否为无法看到孩子在电脑上存储的图片而发愁,您是否为无法监控员工在电脑上存储的东西而发愁,那么今天给您推荐的这款产品绝对是您不二的选择,它是由美国大厂生产,完全符合国际标准的产品,完美支持 Windows 98 以上系统,他就是 FileSystemWatcher 牌监控仪。他会侦听文件系统更改通知,并在目录或目录中的文件更改时引发事件。下面我们就来看看他的细节。


零、细节特征

1.常用的方法有:

  • OnChanged(FileSystemEventArgs)

当更改被监控目录中文件或目录的大小,系统属性,上次写入时间,上次访问时间或安全权限时将调用这个事件。

  • OnCreated(FileSystemEventArgs)

在被监控的目录中创建文件或目录时将调用这个事件。这里需要注意的是虽然复制和移动并不是创建,但同样会触发这个事件。如果复制或移动文件到被监控的目录中,则将立即引发 OnCreated 事件,然后是一个或多个 OnChanged 事件。

  • OnDeleted(FileSystemEventArgs)

当删除被监控的目录中的文件或目录时处罚这个事件。当我们从被监控的目录中剪切出去文件时,也会触发这个事件。

  • OnRenamed(RenamedEventArgs)

重命名被监控目录中的文件或目录时将调用这个方法。


2.常用属性有:

  • Filter :获取或设置用于确定目录中要监视哪些文件的过滤器字符串。
  • IncludeSubdirectories:获取或设置是否监控被监控目录的子目录。
  • InternalBufferSize:内部缓冲区大小,最大为64K,默认为8K。
  • NotifyFilter:获取或设置哪些内容改变后需要被捕获,可设置的类型如下:
  • image.png
  • path:需要监控的文件夹路径

一、例子

using System;
using System.IO;
using static System.Console;
namespace FileSystemWatcherDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            FileSystemWatcher fsw = new FileSystemWatcher();
            fsw.Path = @"d:\test";
            fsw.Filter = "*.txt";
            fsw.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.CreationTime | NotifyFilters.FileName;
            fsw.IncludeSubdirectories = true;
            fsw.InternalBufferSize = 64 * 1024;
            fsw.Created += Fsw_Created;
            fsw.Changed += Fsw_Changed;
            fsw.Deleted += Fsw_Deleted;
            fsw.Renamed += Fsw_Renamed;
            Read();
        }
        private static void Fsw_Renamed(object sender, RenamedEventArgs e)
        {
            WriteLine($"原名:{e.OldName}   新名称:{e.Name}");
        }
        private static void Fsw_Deleted(object sender, FileSystemEventArgs e)
        {
            WriteLine($"{e.Name}  我被删除了");
        }
        private static void Fsw_Changed(object sender, FileSystemEventArgs e)
        {
            WriteLine($"{e.Name}  我被修改了");
        }
        private static void Fsw_Created(object sender, FileSystemEventArgs e)
        {
            WriteLine($"{e.Name}  我被创建了");
        }
    }
}


目录
相关文章
|
6月前
|
存储 监控 算法
电脑监控管理中的 C# 哈希表进程资源索引算法
哈希表凭借O(1)查询效率、动态增删性能及低内存开销,适配电脑监控系统对进程资源数据的实时索引需求。通过定制哈希函数与链地址法冲突解决,实现高效进程状态追踪与异常预警。
291 10
|
6月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
306 4
|
8月前
|
存储 机器学习/深度学习 监控
公司监控软件有哪些?监测方案:基于布隆过滤器的 C# 异常行为检测实践探索
本文探讨了布隆过滤器在公司监控软件中的技术应用,介绍其原理、优势及C#实现代码,助力企业高效构建数据安全防护体系。
214 0
|
10月前
|
监控 算法 安全
公司电脑监控软件关键技术探析:C# 环形缓冲区算法的理论与实践
环形缓冲区(Ring Buffer)是企业信息安全管理中电脑监控系统设计的核心数据结构,适用于高并发、高速率与短时有效的多源异构数据处理场景。其通过固定大小的连续内存空间实现闭环存储,具备内存优化、操作高效、数据时效管理和并发支持等优势。文章以C#语言为例,展示了线程安全的环形缓冲区实现,并结合URL访问记录监控应用场景,分析了其在流量削峰、关键数据保护和高性能处理中的适配性。该结构在日志捕获和事件缓冲中表现出色,对提升监控系统效能具有重要价值。
292 1
|
11月前
|
存储 监控 算法
局域网上网记录监控的 C# 基数树算法高效检索方案研究
在企业网络管理与信息安全领域,局域网上网记录监控是维护网络安全、规范网络行为的关键举措。随着企业网络数据量呈指数级增长,如何高效存储和检索上网记录数据成为亟待解决的核心问题。基数树(Trie 树)作为一种独特的数据结构,凭借其在字符串处理方面的卓越性能,为局域网上网记录监控提供了创新的解决方案。本文将深入剖析基数树算法的原理,并通过 C# 语言实现的代码示例,阐述其在局域网上网记录监控场景中的具体应用。
243 7
|
存储 监控 算法
员工电脑监控系统中的 C# 链表算法剖析-如何监控员工的电脑
当代企业管理体系中,员工电脑监控已成为一个具有重要研究价值与实践意义的关键议题。随着数字化办公模式的广泛普及,企业亟需确保员工对公司资源的合理利用,维护网络安全环境,并提升整体工作效率。有效的电脑监控手段对于企业实现这些目标具有不可忽视的作用,而这一过程离不开精妙的数据结构与算法作为技术支撑。本文旨在深入探究链表(Linked List)这一经典数据结构在员工电脑监控场景中的具体应用,并通过 C# 编程语言给出详尽的代码实现与解析。
245 5
c# 创建文件夹
在 C# 中,创建文件夹和文件依赖于 .NET 框架提供的 `System.IO` 命名空间中的类与操作系统交互。
|
存储 监控 算法
企业内网监控系统中基于哈希表的 C# 算法解析
在企业内网监控系统中,哈希表作为一种高效的数据结构,能够快速处理大量网络连接和用户操作记录,确保网络安全与效率。通过C#代码示例展示了如何使用哈希表存储和管理用户的登录时间、访问IP及操作行为等信息,实现快速的查找、插入和删除操作。哈希表的应用显著提升了系统的实时性和准确性,尽管存在哈希冲突等问题,但通过合理设计哈希函数和冲突解决策略,可以确保系统稳定运行,为企业提供有力的安全保障。
|
C# Windows
C#实现指南:将文件夹与exe合并为一个exe
C#实现指南:将文件夹与exe合并为一个exe
1314 9
|
安全 API C#
C# 如何让程序后台进程不被Windows任务管理器强制结束
C# 如何让程序后台进程不被Windows任务管理器强制结束
840 0