具體代碼如下:
#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, and     the 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上找到,如果有不確定的地方,可以查看文檔
新聞熱點
疑難解答
圖片精選