最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c++文件監(jiān)控之FileSystemWatcher

 更新時間:2019年04月07日 22:50:10   投稿:mdxy-dxy  
為了監(jiān)控web程序的靜態(tài)文件是否被惡意改動,所以學習了一下FileSystemWatcher 類對文件的監(jiān)控,由于還在初級階段,這里只貼一下關(guān)于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();
   //創(chuàng)建一個FileSystemWatcher并設(shè)置它的屬性.
   FileSystemWatcher^ fsWatcher = gcnew FileSystemWatcher( );
   fsWatcher->Path = "C:\\files";

   /* Watch for changes in LastAccess and LastWrite times, and
     the renaming of files or directories. */
   fsWatcher->NotifyFilter = static_cast<NotifyFilters>(//監(jiān)聽文件的以下屬性 按需求添加 這里我添加了一些常用的
                NotifyFilters::LastAccess | //文件或文件夾上一次打開的日期。 
                NotifyFilters::LastWrite | //上一次向文件或文件夾寫入內(nèi)容的日期
                NotifyFilters::FileName | //文件名
                NotifyFilters::DirectoryName | //目錄名
                NotifyFilters::Size); //大小

   //監(jiān)聽子目錄
   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.首先創(chuàng)建FileSystemWatcher 對象  用來設(shè)置一些屬性以及添加監(jiān)聽事件

   2.設(shè)置監(jiān)聽目錄

   3.設(shè)置監(jiān)聽文件的屬性

   4.設(shè)置監(jiān)聽子目錄

   5.添加監(jiān)聽事件

   6.開始監(jiān)聽

上面的sample代碼可以在MSDN上找到,如果有不確定的地方,可以查看文檔

相關(guān)文章

  • C++超詳細講解邏輯操作符

    C++超詳細講解邏輯操作符

    在C語言中,邏輯運算符有&&、||、!;&&表示“與”的意思,需要兩端的表達式的值都為true,該式的值才為true。||表示“或”的意思,兩端的表達式的值只要有一端為true,該式的值就為true。!表示“非”的意思,將該式的真值換成相反的真值,即false和true互換
    2022-06-06
  • QT中幾種常用的排序函數(shù)用法總結(jié)

    QT中幾種常用的排序函數(shù)用法總結(jié)

    Qt是目前最先進、最完整的跨平臺C++開發(fā)工具,下面這篇文章主要給大家介紹了關(guān)于QT中幾種常用的排序函數(shù)用法的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • C++生成隨機數(shù)的實現(xiàn)代碼

    C++生成隨機數(shù)的實現(xiàn)代碼

    這篇文章主要介紹了C++生成隨機數(shù)的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • C++之unordered封裝的實現(xiàn)

    C++之unordered封裝的實現(xiàn)

    本文主要介紹了C++之unordered封裝的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-05-05
  • 利用C++實現(xiàn)獲取文件夾下所有文件名

    利用C++實現(xiàn)獲取文件夾下所有文件名

    這篇文章主要為大家詳細介紹了如何利用C++實現(xiàn)獲取文件夾下所有文件名,文中的示例代碼講解詳細,對我們學習C++有一定幫助,需要的可以參考一下
    2022-09-09
  • 詳解C++中普通舊數(shù)據(jù)(POD)的使用

    詳解C++中普通舊數(shù)據(jù)(POD)的使用

    普通舊數(shù)據(jù)就是內(nèi)存中的連續(xù)字節(jié)序列,是能夠被“僅當作數(shù)據(jù)”處理的對象。這篇文章主要帶大家了解一下C++中普通舊數(shù)據(jù)的定義與使用,感興趣的可以了解下
    2023-03-03
  • OpenCV實現(xiàn)圖像距離變換

    OpenCV實現(xiàn)圖像距離變換

    這篇文章主要為大家詳細介紹了OpenCV實現(xiàn)圖像距離變換,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 詳解C++設(shè)計模式編程中責任鏈模式的應(yīng)用

    詳解C++設(shè)計模式編程中責任鏈模式的應(yīng)用

    這篇文章主要介紹了C++設(shè)計模式編程中責任鏈模式的應(yīng)用,責任鏈模式使多個對象都有機會處理請求,從而避免請求的發(fā)送者和接收者之間的耦合關(guān)系,需要的朋友可以參考下
    2016-03-03
  • C++ std::Set<std::pair>的實現(xiàn)示例

    C++ std::Set<std::pair>的實現(xiàn)示例

    本文主要介紹了C++ std::Set<std::pair>的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-10-10
  • Qt之ui在程序中的使用-多繼承法介紹

    Qt之ui在程序中的使用-多繼承法介紹

    本文將介紹Qt之ui在程序中的使用-多繼承法,需要的朋友可以參考
    2012-11-11

最新評論

松阳县| 南靖县| 武平县| 辉南县| 铁岭县| 玉环县| 尤溪县| 乌鲁木齐县| 东乡| 正定县| 平谷区| 铁岭市| 儋州市| 神农架林区| 洞口县| 山西省| 文登市| 庐江县| 九龙城区| 贵港市| 乌兰浩特市| 新源县| 桦甸市| 塔城市| 星子县| 三门县| 正定县| 镇沅| 承德县| 黑山县| 霸州市| 康保县| 时尚| 象州县| 色达县| 浑源县| 南投市| 杂多县| 邵武市| 米脂县| 古丈县|