搜索
查看: 3429|回复: 2

[文件] 监视文件几种不同方法的区别

[复制链接]

43

主题

679

帖子

3805

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3805
发表于 2013-11-27 12:58:38 | 显示全部楼层 |阅读模式
文件监控的支持库有以下几个:

win.util.changeNotification
内部使用 SHChangeNotifyRegister API实现,仅关心用户在资源管理器的操作,可以注册一个窗体接受文件变更消息。
fsys.watch
内部通过 FindFirstChangeNotification API实现,这个所有文件变更都可以监视到所有的文件变更,但你会获取到哪个你监视的目录发生了变动,无法得知具体是哪一个文件路径发生了变更,如果只关心目录是不是改变了,可以用这个、用法比较简单。
fsys.dirWatcher
这个能监视到所有的文件变更,能得到变更的详细的文件路径,性能也比上面两个更好(文件变更频繁的话),是最佳的方案。
使用 fsys.dirWatcher 要注意需要创建一个独立的监视线程, fsys.dirWatcher 是一个循环语句,所以如果你需要停止的话要用一点技巧:首先用线程信号切换到停止状态,然后在主线程中创建一个临时文件立即删掉即可。

详细的示范源码请参考:aardio范例->文件操作->监视文件







回复

使用道具 举报

52

主题

1340

帖子

7326

积分

荣誉会员

Rank: 8Rank: 8

积分
7326
发表于 2013-12-9 16:08:30 | 显示全部楼层

感谢整理说明文档

感谢整理说明文档
回复

使用道具 举报

3

主题

5

帖子

64

积分

一级会员

Rank: 2

积分
64
发表于 2015-1-28 20:34:52 | 显示全部楼层

谢谢,aardio有你真精彩!

谢谢,aardio有你真精彩!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-8-14 21:18 , Processed in 0.078125 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表