-
文件修改监控
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
-
Canny算法的C代码
the code of canny algorithm in C-the code of canny algorithm in C
- 2023-02-08 06:10:03下载
- 积分:1
-
vc编写的信访办公自动化系统,数据库使用odbc
vc编写的信访办公自动化系统,数据库使用odbc-a Guest Information System is written by VC. Database use ODBC.
- 2022-05-14 23:52:07下载
- 积分:1
-
labsql其他几个模块 ,这样就全了,杨乐平所编著的书中的,附带光盘中的所有的程序,...
labsql其他几个模块 ,这样就全了,杨乐平所编著的书中的,附带光盘中的所有的程序,-labsql several other modules, so that the whole, Yang Gill has edited the book, CD-ROM with all the procedures,
- 2022-06-02 06:13:42下载
- 积分:1
-
添翼虎MP3播放器及界面实现源程序
添翼虎MP3播放器及界面实现源程序-Tim Escape MP3 player interface and achieving source
- 2022-10-24 04:00:03下载
- 积分:1
-
高级窗口调试(由艾迪生)
Advanced Windows Debugging (c) by Addison-Wesley Professional
- 2022-05-24 22:52:59下载
- 积分:1
-
This is one of the small payroll procedures. C is the entry of small experiments...
这是一个关于工资发放的小程序.是C++入门的小实验品,希望给那些刚学C++的一点提示-This is one of the small payroll procedures. C is the entry of small experiments, hoping to those just learning to suggest C 1:00
- 2022-11-11 11:00:03下载
- 积分:1
-
Visual Basic课程举例 2 有很好的例题
Visual Basic课程举例 2 有很好的例题-Visual Basic courses, for example 2 has a very good example
- 2022-04-29 22:58:21下载
- 积分:1
-
CCS基础代码
MEMORY
{
PAGE 0:
VECS: org=0x0080, len=0x80
PROM: org=0x1000, len=0x1000 /* 4k words */
PAGE 1:
STACK: org=0x100, len=0x400 /* 1k words */
DARAM: org=0x2000, len=0x1000 /* 4k words */
}
SECTIONS
{ .text :> PROM PAGE 0
vectors :> VECS PAGE 0
.bss :> DARAM PAGE 1
.data :> DARAM PAGE 1
}
- 2022-07-18 04:00:20下载
- 积分:1
-
采用C#开发语言,使用API应用程序接口函数,实现视频监控功能,包含录制视频,视频拍照等功能。
该代码采用C#开发语言,使用API应用程序接口函数,实现视频监控功能,包含录制视频,视频拍照等功能。
- 2022-11-29 23:25:03下载
- 积分:1