关于监听文件功能的实现(windows环境下)

iam7wolf 2011-01-31 10:10:53
尊敬的蟒友,我现有一个功能不知道如何实现在此向大家请教一下

如何实现在windows环境下监听指定文件夹的文件变更事件?例如文件的增加、修改、删除。

刚刚对PYTHON感兴趣,想做一个有用的小程序体验一下。提供一下解决思路就可以了,如果有示例代码更是不胜感谢!!
...全文
437 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
四哥 2011-03-12
  • 打赏
  • 举报
回复
能监听到,但是不能知道其体的信息
上帝无言 2011-02-01
  • 打赏
  • 举报
回复
复制来的
试试这个
http://huangjiahua.livejournal.com/131862.html

Win32 中的目录监控
Windows 里面对目录、文件监控提供了两个API,它们分别是:FindFirstChangeNotification 和 ReadDirectoryChangesW 。

FindFirstChangeNotification
HANDLE FindFirstChangeNotification(
LPCTSTR lpPathName,
BOOL bWatchSubtree,
DWORD dwNotifyFilter
);

该API 能够监控文件名、目录名、文件属性、子文件夹、文件大小、文件的最后写时间、安全属性的改变。该函数返回的是一个监控句柄
(Notification Handle),该句柄能够被 WaitForMultipleObjects
其上进行等待,当该句柄所监控的条件满足时,该句柄就会处于激发状态,这时用户程序就能够知道该目录发生了变化。在进行了用户自己的处理之后,一定要调用
BOOL FindNextChangeNotification(HANDLE
hChangeHandle)来将该监控句柄置为去激活状态,并继续等待下一次被激活。如果你不再想监控了,就要调用FindCloseChangeNotification关闭监控句柄。
iambic 2011-02-01
  • 打赏
  • 举报
回复
可能可以参考下这个:
http://www.codeproject.com/KB/winsdk/MonitorWindowsFileSystem.aspx
codesnail 2011-01-31
  • 打赏
  • 举报
回复
这种底层的功能应该比较费劲。。。。。
angel_su 2011-01-31
  • 打赏
  • 举报
回复
不怎么懂这个,仅知道pythonwin的isapi模块下有现成的sample可以参考试试...
看着奢扣 2011-01-31
  • 打赏
  • 举报
回复
在windows环境下监听指定文件夹的文件变更事件?例如文件的增加、修改、删除。
具体是怎么监听呢?文件大小改变了会打印日志还是啥呢?

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧