2013-10-20 18 views
0

我目前正在尋找一種解決方案來查找在我正在觀看的目錄中添加,刪除,更改或重命名的文件。C++獲取導致目錄更改通知的文件的文件名

我在Windows 7上使用C++ QT 5.1.1。然而,一個「相對」系統獨立的解決方案會很好。我已經看過QT,它只提供了一個DirectoryWatcher來顯示目錄是否已更改 - NOT - 發生了什麼變化。 (我需要什麼部分)。 POCO在其文件系統區域提供相同的功能。 Boost似乎也不支持這一點。

在MSDN:

// 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); 
    } 

有沒有在我的Qt應用程序使用此或有更 「自然」 C++方法的方式:http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.created(v=vs.110).aspx

從示例獲取的?

所有幫助都包含在內。 非常感謝。

回答

0

QFileSystemWatcher類做一些你需要的東西,雖然它的功能有限。例如,它不提供詳細的重命名/移動通知。