-
文件修改监控
ReadDirectoryChangesW 有同步和异步2种方式,
根据前面打开的文件夹对象句柄决定。
1. 异步方式,如果 CreateFile 指定了打开类型 FILE_FLAG_OVERLAPPED 就是异步方式,ReadDirectoryChangesW 调用的时候就需要指定 OVERLAPPED 参数.
接下来对文件夹I/O变化的响应判断有多种方式。
A通过不断的调用HasOverlappedIoCompleted函数(非阻塞,参数就是前面的OVERLAPPED 对象指针)的返回值来判断是否发生了 关注文件句柄的I/O操作。如果发生变化,再执行你的 switch(Buffer[0].Action) 操作过程。
B GetOverlappedResult 读取 OVERLAPPED 对象的结果。(阻塞)
C 完成端口 GetQueuedCompletionStatus (阻塞)。
其中阻塞方式,必须采用多线程的方式,否则你的主线程被阻塞的话,对话框就动不了了。非阻塞方式也可用多线程,结合hEvent对象来使用。
2.同步方式,如果CreateFile不指定FILE_FLAG_OVERLAPPED ,就是同步方式。
同步方式操作比较简单。lz的程序看来就是使用的同步方式。
在同步下,ReadDirectoryChangesW 将被阻塞,直到一个文件夹句柄的I/O操作到来,然后才能判断。所以lz的程序会死掉。
同步方式必须采用多线程,再创建一个线程,线程函数采用如下方式:
UINT ThreadProc(PVOID)
{
CreateFile();
while(1) // 如果只想监视一次文件的I/O变化,可不用while循环。
{
- 2022-03-10 05:44:52下载
- 积分:1
-
This is a course design of an undergraduate, made by himsely totally. It is a hi...
这个是大学大一学生VFP的课程设计~完全是自己做的~很有难度-This is a course design of an undergraduate, made by himsely totally. It is a higher level.
- 2022-03-23 08:36:01下载
- 积分:1
-
文件打包器sdfa sdfasdf
文件打包器sdfa sdfasdf-asdfasdfasdfasdfaasdfa
- 2022-08-13 19:06:07下载
- 积分:1
-
Delphi下的AES,支持ECB、CBC等加密模式,输出base64或者HEX格式,和java端AES保持兼容(全部亲测通过)
- 2023-05-28 20:35:03下载
- 积分:1
-
Win32 API大全,全面的api函数,排版也很不错,大家收藏一下吧
Win32 API大全,全面的api函数,排版也很不错,大家收藏一下吧-Win32 API Guinness, comprehensive api function, layout is also very good, we Favorites yourself
- 2022-06-11 11:23:11下载
- 积分:1
-
i.MX27芯片WinCE 6
i.mx27 soc for wince 6.0
- 2022-07-15 08:34:56下载
- 积分:1
-
易语言源码200多个源码供大家学习,都是最新的
易语言源码200多个源码供大家学习,都是最新的-Easily more than 200 source language source code for all to learn, are the latest
- 2022-07-07 21:11:01下载
- 积分:1
-
基于ssm 的java开发的一个小小的列表查询,用到bootStarp做前台框架
基于ssm 的java开发的一个小小的列表查询,用到bootStarp做前台框架
- 2022-03-26 05:34:33下载
- 积分:1
-
此为多函数的递推算法,又多个例子,初学C++的可以下回来
此为多函数的递推算法,又多个例子,初学C++的可以下回来-This is a recursive algorithm for Multi-function, but also a number of examples, beginner C++ Can come back next
- 2023-01-02 01:00:03下载
- 积分:1
-
pcmtest pcm播放器
pcmtest能将原始PCM数据转成标准WAV文件的源码。
- 2023-03-22 12:15:03下载
- 积分:1