C# 監(jiān)控 Windows 文件夾的方法
您是否為無(wú)法看到孩子在電腦上存儲(chǔ)的圖片而發(fā)愁,您是否為無(wú)法監(jiān)控員工在電腦上存儲(chǔ)的東西而發(fā)愁,那么今天給您推薦的這款產(chǎn)品絕對(duì)是您不二的選擇,它是由美國(guó)大廠生產(chǎn),完全符合國(guó)際標(biāo)準(zhǔn)的產(chǎn)品,完美支持 Windows 98 以上系統(tǒng),他就是 FileSystemWatcher 牌監(jiān)控儀。他會(huì)偵聽(tīng)文件系統(tǒng)更改通知,并在目錄或目錄中的文件更改時(shí)引發(fā)事件。下面我們就來(lái)看看他的細(xì)節(jié)。
零、細(xì)節(jié)特征
1.常用的方法有:
OnChanged(FileSystemEventArgs)
當(dāng)更改被監(jiān)控目錄中文件或目錄的大小,系統(tǒng)屬性,上次寫入時(shí)間,上次訪問(wèn)時(shí)間或安全權(quán)限時(shí)將調(diào)用這個(gè)事件。
OnCreated(FileSystemEventArgs)
在被監(jiān)控的目錄中創(chuàng)建文件或目錄時(shí)將調(diào)用這個(gè)事件。這里需要注意的是雖然復(fù)制和移動(dòng)并不是創(chuàng)建,但同樣會(huì)觸發(fā)這個(gè)事件。如果復(fù)制或移動(dòng)文件到被監(jiān)控的目錄中,則將立即引發(fā) OnCreated 事件,然后是一個(gè)或多個(gè) OnChanged 事件。
OnDeleted(FileSystemEventArgs)
當(dāng)刪除被監(jiān)控的目錄中的文件或目錄時(shí)處罰這個(gè)事件。當(dāng)我們從被監(jiān)控的目錄中剪切出去文件時(shí),也會(huì)觸發(fā)這個(gè)事件。
OnRenamed(RenamedEventArgs)
重命名被監(jiān)控目錄中的文件或目錄時(shí)將調(diào)用這個(gè)方法。
2.常用屬性有:
Filter :獲取或設(shè)置用于確定目錄中要監(jiān)視哪些文件的過(guò)濾器字符串。
IncludeSubdirectories:獲取或設(shè)置是否監(jiān)控被監(jiān)控目錄的子目錄。
InternalBufferSize:內(nèi)部緩沖區(qū)大小,最大為64K,默認(rèn)為8K。
NotifyFilter:獲取或設(shè)置哪些內(nèi)容改變后需要被捕獲,可設(shè)置的類型如下:
path:需要監(jiān)控的文件夾路徑
一、例子
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} 我被創(chuàng)建了"); } } }
總結(jié)
到此這篇關(guān)于C# 監(jiān)控 Windows 文件夾的方法的文章就介紹到這了,更多相關(guān)C# 監(jiān)控 Windows 文件夾內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 關(guān)于.NET/C#/WCF/WPF 打造IP網(wǎng)絡(luò)智能視頻監(jiān)控系統(tǒng)的介紹
- C#如何實(shí)現(xiàn)監(jiān)控手機(jī)屏幕(附源碼下載)
- C# FileSystemWatcher 在監(jiān)控文件夾和文件時(shí)的使用方法
- C#使用FileSystemWatcher控件實(shí)現(xiàn)的文件監(jiān)控功能示例
- C#利用性能計(jì)數(shù)器監(jiān)控網(wǎng)絡(luò)狀態(tài)
- C#獲取串口列表實(shí)現(xiàn)實(shí)時(shí)監(jiān)控串口
- C#實(shí)現(xiàn)讀取注冊(cè)表監(jiān)控當(dāng)前操作系統(tǒng)已安裝軟件變化的方法
- C#進(jìn)程監(jiān)控方法實(shí)例分析
- C#實(shí)現(xiàn)軟件監(jiān)控外部程序運(yùn)行狀態(tài)的方法
- c#使用filesystemwatcher實(shí)時(shí)監(jiān)控文件目錄的添加和刪除
- C# 實(shí)現(xiàn)視頻監(jiān)控系統(tǒng)(附源碼)
相關(guān)文章
C#開(kāi)發(fā)Winform控件之打開(kāi)文件對(duì)話框OpenFileDialog類
這篇文章介紹了C#開(kāi)發(fā)Winform控件之打開(kāi)文件對(duì)話框OpenFileDialog類,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02理解C#編程中的靜態(tài)類和靜態(tài)成員以及密封類
這篇文章主要介紹了理解C#編程中的靜態(tài)類和靜態(tài)成員以及密封類,注意類成員的相關(guān)訪問(wèn)限制和類的繼承問(wèn)題,需要的朋友可以參考下2016-01-01c# 插入數(shù)據(jù)效率測(cè)試(mongodb)
這篇文章主要介紹了c# 插入數(shù)據(jù)效率測(cè)試(mongodb),插入的速度要比Mysql和sqlserver都要快需要的朋友可以參考下2018-03-03WPF自定義實(shí)現(xiàn)雷達(dá)圖控件的示例詳解
雷達(dá)圖用于表示不同內(nèi)容的占比關(guān)系,在項(xiàng)目中有廣泛的應(yīng)用,但是目前未曾有封裝良好的雷達(dá)圖控件,所以本文分享了如何封裝一個(gè)通用的雷達(dá)圖控件,希望對(duì)大家有所幫助2023-08-08在WPF中動(dòng)態(tài)加載XAML中的控件實(shí)例代碼
這篇文章主要介紹了在WPF中動(dòng)態(tài)加載XAML中的控件,實(shí)例分析了WPF中針對(duì)XAML中控件的動(dòng)態(tài)調(diào)用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07C#中判斷某類型是否可以進(jìn)行隱式類型轉(zhuǎn)換
在我們采用反射動(dòng)態(tài)調(diào)用一些方法時(shí),常常涉及到類型的轉(zhuǎn)換,直接判斷類型是否相符有時(shí)不能判斷調(diào)用方法是否合適2013-04-04