FileSystemWatcherのファイル監視(c ++)

FileSystemWatcherのファイル監視(c ++)

  Webプログラムの静的ファイルが悪意を持って変更されたかどうかを監視するために、ファイルを監視するFileSystemWatcherクラスについて学びましたが、まだ初期段階なので、ここではFileSystemWatcherの学習に関する一部のコードのみを掲載しています。

  具体的なコードは次のとおりです。

コードをコピー

#using <System.dll> 
#include <iostream> 

using namespace std; 
名前空間システムを使用します。
名前空間System :: IOを使用します。
名前空間System :: Security :: Permissionsを使用します。

public ref class Watcher 
{ 
private:
   //イベントハンドラーを定義します。
   static void OnChanged(Object ^ / * source * /、FileSystemEventArgs ^ e)
   { 
      //ファイルが変更、作成、または削除されたときの処理を指定します。
      Console :: WriteLine( "ファイル:{0} {1}"、e-> FullPath、e-> ChangeType); 
   } 

   static void OnRenamed(Object ^ / * source * /、RenamedEventArgs ^ e)
   { 
      //ファイルの名前が変更されたときの処理を指定します。 
      Console :: WriteLine( "File:{0} renamed to {1}"、e-> OldFullPath、e->
   } 

public:
   [PermissionSet(SecurityAction :: Demand、Name = "FullTrust")] 
   int static run()
   { 
      // array <String ^> ^ args = System :: Environment :: GetCommandLineArgs(); 
      // FileSystemWatcherを作成し、プロパティを設定します
      FileSystemWatcher ^ fsWatcher = gcnew FileSystemWatcher(); 
      fsWatcher-> Path = "C:\\ files";
 
      / * LastAccessとLastWrite時間
          の変更、およびファイルまたはディレクトリの名前変更を
      監視します。* / fsWatcher-> NotifyFilter = static_cast <NotifyFilters>(//次の監視ファイルの属性が必要に応じて追加されます。ここで追加します一般的に使用される
                                NotifyFilters :: LastAccess | //ファイルまたはフォルダが最後に開かれた日付。
                                NotifyFilters :: LastWrite | //コンテンツが最後にファイルまたはフォルダに書き込まれた日付
                                NotifyFilters :: FileName | //ファイル名
                                NotifyFilters :: DirectoryName | //ディレクトリ名
                                NotifyFilters :: Size); //サイズ 
      fsWatcher ->作成済み+ = gcnew FileSystemEventHandler(ウォッチャー:: OnChanged);

      //监挺子目录
      fsWatcher-> IncludeSubdirectories = true; 
      //テキストファイルのみを監視します。
      // fsWatcher-> Filter = "* .txt"; 

      //イベントハンドラを追加します。
      fsWatcher-> Changed + = gcnew FileSystemEventHandler(Watcher :: OnChanged); 
      fsWatcher-> Deleted + = gcnew FileSystemEventHandler(Watcher :: OnChanged); 
      fsWatcher-> Renamed + = gcnew RenamedEventHandler(Watcher :: OnRenamed); 

      //監視を開始します。
      fsWatcher-> EnableRaisingEvents = true; 

      //ユーザーがプログラムを終了するのを待ちます。
      Console :: WriteLine( "サンプルを終了するには\ 'q \'を押してください。"); 
      while(Console :: Read()!= 'q'); 

      0を返します。
 
int main(){ 
   Watcher :: run(); 
}

手順1.最初に、いくつかのプロパティを設定し、監視イベントを追加するFileSystemWatcherオブジェクトを作成します。

   2.リスニングディレクトリを設定する

   3.リスニングファイルのプロパティを設定する

   4.監視サブディレクトリを設定する

   5.監視イベントを追加する

   6.聴き始める

上記のサンプルコードはMSDNにあります。不明な点がある場合は、ドキュメントをご覧ください。

17件の元の記事を公開 228のような 330,000以上を訪問

おすすめ

転載: blog.csdn.net/cxu123321/article/details/105470831