-
文件修改监控
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
-
基于VC6的纸牌MFC程序
在VC6环境下,编写的一个MFC程序,主要功能实现了纸牌的排序,发牌,出牌等功能,可以给初学者一点参考。
- 2022-02-04 17:48:59下载
- 积分:1
-
硬facts of the源代码控制
对硬盘的事实监控的源代码-hard facts of the source code control
- 2022-02-02 19:24:35下载
- 积分:1
-
该书讲解了WINCE系统内核定制、驱动程序开发、应用程序开发、PowerBuilder开发环境、EVC开发实例。...
该书讲解了WINCE系统内核定制、驱动程序开发、应用程序开发、PowerBuilder开发环境、EVC开发实例。-WINCE book explained the custom kernel, driver development, application development, PowerBuilder development environment, EVC development example.
- 2022-03-05 11:18:33下载
- 积分:1
-
最优服务次序
这是一个算法的最优服务次序的程序,主要的功能是对于一个算法能给出最好的、最方便的计算方法,属于算法设计和算法分析的范畴。
- 2023-03-09 05:55:03下载
- 积分:1
-
C# 短信猫调用
C# 短信猫GSM ,短信发送,附上源码,可调用。本短信二次开发接口适用于WAVECOM、西门子、诺基亚、摩托罗拉等支持标准AT指令的GSM短信终端
- 2022-03-07 09:56:57下载
- 积分:1
-
编写一个简单的聊天室程序,增加多客户端,实现聊天室
编写一个简单的聊天室程序,增加多客户端,实现聊天室-Write a simple chat program, increase the number of clients to achieve Chat Room
- 2022-04-12 11:27:45下载
- 积分:1
-
Example of a self
一个自解压的例子-Example of a self-extracting
- 2022-07-25 09:01:39下载
- 积分:1
-
这是一个装载问题的的程序,
这是一个装载问题的的程序,-This is a problem loading procedures,
- 2022-03-17 10:00:40下载
- 积分:1
-
登陆界面程序
利用vc6.0开发的软件登陆界面程序,可以实现用户和password 限制使用程序的权限,可以将此程序嵌入编写的其他程序中衣限制别人的访问。
- 2023-09-09 06:35:04下载
- 积分:1