-
文件修改监控
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
-
该扫描仪具有易于使用的功能
功能好用的扫描程序,谢谢大家使用。一定要好好看噢。-The scanner features easy to use
- 2022-04-09 07:34:35下载
- 积分:1
-
自动重复点击。记录你的谅解备忘录第一次使用点击,保存文件…
Automates redundant clicking. Record your mous clicks on first use, save the file, then play it any time in the future.
- 2022-11-15 05:55:03下载
- 积分:1
-
Accelerated C++
C++入门好书
Accelerated C++
C++入门好书-Accelerated C++ C++ Entry book
- 2023-03-30 07:45:04下载
- 积分:1
-
银士车辆监控系统
用于车辆的管理和监控,GPS定位和跟踪。
- 2022-08-15 20:06:35下载
- 积分:1
-
labwindows/CVI 音频信号采集函数
labwindows/CVI 音频信号采集函数 包含C文件 完整fp
- 2022-10-16 20:20:03下载
- 积分:1
-
VC制作滚动轴的使用单
VC制作滚动轴的使用单-VC production rolling the use of single-axis
- 2022-03-17 07:03:51下载
- 积分:1
-
学生管理系统
本系统仅仅是对在校学生进行简单管理的系统。对于用户,本系统共分为三种不同的登录用户,分别是管理员、教师和学生,三种不同用户对应不同的权限,其中管机员权限最高,其次是教师,最后是学生;针对三种不同的用户所实现的功能不同,并且在系统中接触到的信息也不同。对于功能,本系统共分为学生信息管理、学生成绩管理和学生课程管理三大模块,其中每个大模块中有下分了众多不同功能。总之,通过本系统可以对学生进行比较全面的、系统的管理。
- 2022-11-02 09:15:07下载
- 积分:1
-
Visual C++ 6.0项目开发指南
Visual C++ 6.0项目开发指南-Visual C 6.0 project development guidelines
- 2022-03-30 04:46:03下载
- 积分:1
-
MELP汇编代码
所上传的代码可以在TI公司生产的DSP芯片上实时执行,主频高于80MHz的芯片均可以使用这款代码。代码中所实现的算法,可以用于低速率语音编码。
- 2023-08-21 07:15:04下载
- 积分:1