如何得到某时间段内,拷贝的文件

daidai 2000-05-26 03:03:00
我先把时间记录下来,然后GetFileTime得到该时间后Access的文件,但是有一大
堆其他的文件。
应该怎么做呢?
...全文
203 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
土豆 2000-06-14
  • 打赏
  • 举报
回复
你可以做一个文件操作的监视器监视系统对文件的操作,从而达到你的目的:

  FindFirstChangeNotification( );
  FindNextChangeNotification( );
  其中FindFirstChangeNotification(lpzpath,fwatchsubtree,fdwfilter)中的lpzpath表示要监视的路径名,fwatchsubtree判断是否查看子目录,fdwfilter为要监视的事件,函数执行成功后返回一个句柄。
  参数fdwfilter取值及其含义如下:
  FILE_NOTIFY_CHANGE_FILE_NAME  查看指定目录下任何文件名的改变
  FILE_NOTIFY_CHANGE_DIR_NAME  查看指定目录下任何目录名的改变
  FILE_NOTIFY_CHANGE_SIZE  查看指定目录下文件大小的改变
  FILE_NOTIFY_CHANGE_ATTRIBUTES  查看指定目录下文件属性的改变
  FindNextChangeNotification(hchange),hchange为FindFirstChangenNotification返回的句柄,其作用是请求系统在下次检测到相应改变时发出改变通知消息句柄。当函数成功返回后,应用程序可通过WaitForMultipleObjects或WaitfForSingleObject来等待发生改变的通知。 WaitForSingleObject(hchange,dwmilliseconds)中hchange为FindFirstChangeNotification 返回的句柄,dwmilliseconds为等待时间值,指定等待完成需要的时间,单位为毫秒。该值为-1时表示时间无限长。最好在结束监视程序之前先用FindCloseChangeNotification(hchange)来关闭句柄。
  下面一个简单的实例,其功能就是监视c:\pwin98目录下是否有文件发生变化。一旦有重命名、创建或删除情况发生时,通过Edit控件给出提示。
DWORD dwWaitStatus;
  HANDLE dwChangeHandle; //返回通知的句柄
  dwChangeHandle=FindFirstChangeNotification(
  “C:\\PWIN98”,false,FILE_NOTIFY_CHANGE_FILE_NAME); //设置返回通知的句柄
  if(dwChangeHandle==INVALID_HANDLE_VALUE)
  //判断是否设置成功
    ExitProcess(GetLastError());
  while(true){ //设置循环,监视是否有
    dwWaitStatus=WaitForSingleObject(dwChangeHandle,-1); //通知返回
    if(dwWaitStatus==0){
      MessageBox(NULL,"Notification",“Something Changed”,MB_OK); //给出提示
      FindCloseChangeNotification(dwcChangeHandle); //关闭句柄
      exit(EXIT_SUCCESS); //退出程序
    }
  }
  此例监视硬盘中文件变化,对于注册表,则有函数RegNotifyChangeKeyValue()可以实现类似功能。
No9 2000-06-07
  • 打赏
  • 举报
回复
关注!
wdh 2000-05-28
  • 打赏
  • 举报
回复
可以使用文件通知函数
daidai 2000-05-28
  • 打赏
  • 举报
回复
就是想做一个类似于反安装程序的东东,能知道安装程序都把什么拷贝到硬盘
上了。如果这个方法不行,那还有什么方法呢?请各位大侠指点
daidai 2000-05-28
  • 打赏
  • 举报
回复
谢谢 wdh 你是说那个叫什么OnChangeNotifi..的东东?可是如果安装程序要重启机器
怎么办?而且我觉得那样会比较慢
bigjim 2000-05-27
  • 打赏
  • 举报
回复
copy是不改变文件的创建时间的,所以,靠创建时间无法得知所要的信息
kxy 2000-05-27
  • 打赏
  • 举报
回复
你到底要做什么?:)
daidai 2000-05-27
  • 打赏
  • 举报
回复
就是说有一些其他的文件,如win.ini \winnt \system32 \sql_server 等文件和
目录。
如果用时间判断不能得到拷贝的文件的话,那该怎么作呢?
U皮特U 2000-05-27
  • 打赏
  • 举报
回复
没明白你的意思!什么叫“一大堆其他的文件”

16,467

社区成员

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

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

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