我正在寻找一种使用 Win32(最低目标是 XP)来查看文件夹内容的简单方法。如果可能的话,最好使用事件驱动的方法而不是轮询类型的方法。更复杂的是,被监视的文件夹可能是网络共享。
我真的只对捕获“新文件”感兴趣。我不在乎我是否没有被告知重命名或删除的文件。
是否有事件驱动的方式,或者在处理 Win32 时轮询我唯一的选择?
我正在寻找一种使用 Win32(最低目标是 XP)来查看文件夹内容的简单方法。如果可能的话,最好使用事件驱动的方法而不是轮询类型的方法。更复杂的是,被监视的文件夹可能是网络共享。
我真的只对捕获“新文件”感兴趣。我不在乎我是否没有被告知重命名或删除的文件。
是否有事件驱动的方式,或者在处理 Win32 时轮询我唯一的选择?
您是否尝试过FindFirstChangeNotification 和FindNextChangeNotification。从这里下载示例源代码
正如 Suraj 所说,FindFirstChangeNotification 是正确的 API。然而,我在使用它时确实发现(很多年前),如果用它来观看网络共享,它有时会在它返回的句柄上无限等待时失败。我只是申请了一个超时并每隔一段时间重新发出一次FFCN,这就解决了这个问题。
我不知道以后的操作系统更新是否解决了这个问题,我们再也没有回去检查过:-)。