如何使检查一个特定的文件夹下面哪些是新生成的文件

billy145533 2005-05-14 08:09:47
我有个文件夹,基本上会隔一段时间,大概是十秒,会产生一个文件.我的程序要做的是按时间先后的顺序,找出这些文件进行一定的处理.
但是,有两个问题,
1.如何确定文件是新加入文件夹的,如果对文件夹遍历一遍的话,比如用cfilefind,但是由于文件下面的将会产生不少的文件,遍历的效率将会非常差.

2.如果如何突发的情况下,十秒内产生了几个文件,那么如何对着几个文件按创建时间来进行处理.


可以事先对整个文件夹进行排序,比如说对文件夹进行按创建时间排序,再对这些文件进行处理.
...全文
177 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
billy145533 2005-05-19
  • 打赏
  • 举报
回复
To qrlvls && Featured
我还没具体看过filemon,好象它只是触发一个事件而不是具体告诉你什么文件产生了
我要的是能告诉我产生了什么文件,然后我去处理.
to fbmsf 我用的是目前用的是xp
你说的办法能达到我的要求吗
jerry 2005-05-19
  • 打赏
  • 举报
回复
如果知道 文件名的规律,那么好找了, 如果象楼主所说,一般这样连续产生文件会有一定的规律的.

如果没有规律,那确实比较难处理.可能要文件钩子了
loveghb 2005-05-19
  • 打赏
  • 举报
回复
同意 fbmsf(FBM)的。
ReadDirectoryChangesW可以知道具体的文件名字,而FindFirstChangeNotification却不可以,有N多人问过这个问题了,呵呵。我也写过一个ActiveX控件,可以监测到,并以事件的方式通知客户程序
billy145533 2005-05-17
  • 打赏
  • 举报
回复
谢谢各位的意见,继续,即将揭贴了
fbmsf 2005-05-17
  • 打赏
  • 举报
回复
win2k 下面可以用 ReadDirectoryChangesW

win9x,下面可用FindFirstChangeNotification

就是监控文件夹的变化。
zengwujun 2005-05-17
  • 打赏
  • 举报
回复
学习
KelvinSpace 2005-05-17
  • 打赏
  • 举报
回复
我用cfilefind也遇到顺序问题
后来听说是根据我的电脑中的排列顺序的
具体没验证过~
38062708 2005-05-17
  • 打赏
  • 举报
回复
关注
qrlvls 2005-05-15
  • 打赏
  • 举报
回复
你可以在程序起始运行时遍历一次
然后通过 FileMonitor 的方式来监测目录中文件的变化
监测的方法参考:
http://www.codeproject.com/file/filemonitor.asp
billy145533 2005-05-15
  • 打赏
  • 举报
回复
哎,大家都来顶一下,顶者有分
柯本 2005-05-15
  • 打赏
  • 举报
回复
API钩子的例子
http://www.vchelp.net/vchelp/zsrc/apihook.asp?type_id=25&class_id=1&cata_id=2&article_id=457&search_term=
读写文件都会用kernel32的CreateFile打开文件
写一个CreateFile的钩子,对新建的文件先作自已的处理
当然有相当的难度

Featured 2005-05-15
  • 打赏
  • 举报
回复
两条路:
1 FileMon
2 Hook相关的API
billy145533 2005-05-14
  • 打赏
  • 举报
回复
keiy():
想过用'钩子',但是至于具体实现就没什么把握了
billy145533 2005-05-14
  • 打赏
  • 举报
回复
不是的,是我的另外一套系统定时扫描,产生很多文件,问一下cfilefind对文件的访问是按什么顺序.
KelvinSpace 2005-05-14
  • 打赏
  • 举报
回复
你想取摄象头的图片吗??
yzb_diablos 2005-05-14
  • 打赏
  • 举报
回复
同意楼上
柯本 2005-05-14
  • 打赏
  • 举报
回复
有难度的问题,是否考虑过用钩子,截取系统打开文件或写文件的函数

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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