文件夹监视及文件删除的简易方法
来源:互联网 发布:linux 安全设置 编辑:程序博客网 时间:2024/06/06 03:19
文件夹监视及文件删除的简易方法
这几天学习了一些关于文件的操作,在这里做个总结。
我想实现这样的功能:当特定的文件夹Pic当检测到有文件(保证传进来的是图片)进来时,得到该文件的绝对路径,并把它传入void MoveControl(char *path); 处理,然后删除该图片文件。
在MFC中,如果想监视一个文件夹,以此了解在该文件夹中是否有文件加入或删除、重命名等操作,需要开一个子线程,把代码写在里面并用while(true)嵌套。
监视文件夹的API,我知道有两个——ReadDirectoryChangesW 和 FindFirstChangeNotification。觉得ReadDirectoryChangesW复杂就用FindFirstChangeNotification来写了。
首先调用FindFirstChangeNotification来告诉系统,我们的程序对于文件系统的变化消息感兴趣,此函数返回一个句柄,可以将它用于WaitForSingleObject或者WaitForMultipleObject的一些线程同步函数,一旦事件变成了有信号,便可得知文件系统有了变化,就可以漫游目录来得到新的信息。当这些处理完成后,再调用FindNextChangeNotification即可。
The FindNextChangeNotification function requests that the operating system signal a change notification handle the next time it detects an appropriate change.
在利用unicode编程时候,常常要涉及几种字符类型的转化,此时要用到 WideCharToMultiByte 或者 MultiByteToWideChar ,也可能在一些字符串前写TEXT(),这里就不多说了。
在MFC中,有一个CFileFind的类,用它可以很方便的获取某个文件夹中的所有文件的名字。
删除文件用CFile中的静态函数即可完成:
程序写完后,刚开始运行几次结果很理想。但是随后发现有时候往Pic里拖入图片程序没有反应。暂时想不明白是什么原因,我估计是线程函数的优先级过低。
- 文件夹监视及文件删除的简易方法
- 删除文件,及文件夹的方法
- 删除.svn文件夹的简易方法
- 监视文件夹的文件变更
- 写一个方法传入文件夹名删除此文件夹及下面的文件和文件夹
- ubuntu创建、删除文件及文件夹方法
- Windows下删除.svn文件夹的最简易方法
- Windows下删除.svn文件夹的最简易方法
- Windows下删除.svn文件夹的最简易方法
- Windows下删除.svn文件夹的最简易方法
- Windows下删除.svn文件夹的最简易方法
- Windows下删除.svn文件夹的最简易方法
- Windows下删除.svn文件夹的最简易方法
- Windows下删除.svn文件夹的最简易方法
- Windows下快速删除.svn文件夹的最简易方法
- Windows下.svn文件夹的最简易删除方法
- Windows下删除.svn文件夹的最简易方法【转】
- Windows下删除.svn文件夹的最简易方法
- Hadoop-0.20.1+windowsXP+Eclipse辛酸历程
- 由《社交网络》想到的...
- UIImageView动画:显示了something在屏幕上移动。
- Redis几个认识误区
- Linq to DataTable 解决DataSet不支持System.nullable
- 文件夹监视及文件删除的简易方法
- Redis 数据库官方文档
- Web前端国内的叫法与行业归类吗
- ubuntu install svn
- NoSQL空间
- UIImageView 拖动项目
- android常用控件(三)- ProgressBar、ListView
- DER编码和ASN.1
- 网上投简历技巧浅谈