使用Win32观看文件夹

时间:2009-11-02 05:53:03

标签: winapi polling event-driven

我正在寻找一种使用Win32(最小目标是XP)观看文件夹内容的简单方法。如果可能的话,使用事件驱动的方法而不是轮询类型的方法会很好。更复杂的是,监视文件夹可能是网络共享。

我真的只对捕获“新文件”感兴趣。如果我没有被告知重命名或删除文件,我不在乎。

是否有事件驱动的方式,或者在处理Win32时轮询我唯一的选择?

2 个答案:

答案 0 :(得分:3)

您是否尝试过 FindFirstChangeNotification FindNextChangeNotification 。 从here

下载示例源代码

答案 1 :(得分:2)

正如Suraj所说,

FindFirstChangeNotification是正确的API。然而,我确实在使用它(许多年前)时发现它有时会失败,如果用它来观察网络共享,它会在它返回的句柄上无限期等待。我只是应用了超时并且经常重新发布FFCN,这解决了问题。

我不知道后来的操作系统更新是否解决了这个问题,我们从未回过头来检查: - )。