2008-08-19 96 views

回答

22

FindFirstChangeNotification是好的,但略多的最終權力,你應該使用ReadDirectoryChangesW.(事實上,它甚至建議的文件中!)

它不需要一個函數指針,它需要你手動解碼原始緩衝區,它使用Unicode文件名,但它通常更好,更靈活。另一方面,如果你想要做FileMon做的事情,你應該做FileMon做的事情,並使用IFS to create and install a file system filter

+0

我在最後找到了ReadDirectoryChangesW,並且開始研究如何將返回的緩衝區轉換爲可以傳回給我的Java代碼的表單,但它絕對做到了我想要的。 – 2008-09-14 23:23:54

0

還有其他方法可以做到這一點,但其中大部分都需要努力(或從應用程序獲取性能,或者必須阻止線程使用它們等)。如果你不習慣處理函數指針等,FindFirstChangeNotification有點複雜,但它具有讓操作系統爲你完成大部分工作的優點。

-1

您可以使用FileSystemWatcher類。非常高效,但無法與網絡共享驅動器配合使用。

0

實際上FileSystemWatcher可以與共享網絡驅動器完美配合。我現在在一個應用程序中使用它,除其他外,它監視文件系統的變化。 (www.tabbles.net)。