登录
首页 » Windows开发 » 文件修改监控

文件修改监控

于 2022-03-10 发布 文件大小:1.08 kB
0 116
下载积分: 2 下载次数: 1

代码说明:

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循环。     {   

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • RandGen。H
    randgen.h almost 1.72KB
    2022-03-15 06:33:15下载
    积分:1
  • 这是用C++编写的SMO算法实现,请查收。
    这是用C++编写的SMO算法实现,请查收。-C SMO prepared by the algorithm, please find.
    2022-05-14 19:20:48下载
    积分:1
  • attiny15定时器控制
    attiny15 timer control
    2022-01-31 19:26:09下载
    积分:1
  • jQuery卷帘式菜单栏
    鼠标经过显示下级菜单,动态效果,不简单是 只是显示隐藏,有动态效果。感觉还不错 ,拿出来分享
    2022-03-18 15:43:11下载
    积分:1
  • 程控交换机话单获取
    程控交换机话单获取-program- controlled switches so single access
    2022-01-30 16:31:58下载
    积分:1
  • 航空客运订票系统, 几航空客运订票系统, 几航空客运订票系统, 几...
    航空客运订票系统, 几航空客运订票系统, 几航空客运订票系统, 几-Air passenger reservation system
    2023-01-19 03:40:03下载
    积分:1
  • 强化CListCtrl的下拉列表Demo
    强化CListCtrl的下拉列表Demo-strengthen the drop-down list Demo
    2022-02-03 17:04:12下载
    积分:1
  • JAVA 勤工俭学管理系统
    该系统实现了注册和登录,主要有学生端,教师端和学院管理员端。
    2022-04-28 04:14:52下载
    积分:1
  • QT编写的C++贪吃蛇小游戏
    游戏通过按键控制 部分代码: #include "gamewidget.h" #define ROW 13 #define COL 16 #define UP 0 #define DOWN 1 #define LEFT 2 #define RIGHT 3 GameWidget::GameWidget(QWidget *parent) :QWidget(parent) { this->setAutoFillBackground(true);//覆盖 this->resize(480,270); this->setWindowIcon(QIcon("img/icon.jpg")); this->setWindowTitle("贪吃蛇"); QPalette palette; palette.setBrush(QPalette::Background,QBrush((QPixmap)"img/bjt.png")); this->setPalette(palette); //按扭区 leftbtn=new QPushButton(this); leftbtn->setIcon((QIcon)"img/zuo.png"); leftbtn->setIconSize(QSize(40,40)); leftbtn->setGeometry(QRect(340,180,40,40)); leftbtn->setFlat(true); rightbtn=new QPushButton(this); rightbtn->setIcon((QIcon)"img/you.png"); rightbtn->setIconSize(QSize(40,40)); rightbtn->setGeometry(QRect(430,180,40,40)); rightbtn->setFlat(true
    2022-03-21 19:09:00下载
    积分:1
  • [原創][c++][winsock] 簡單的訊息、檔案網路傳輸範例程式[client-server]
    资源描述 一個簡單的網路傳輸範例程式 由client端輸入指令來控制檔案傳輸 ====使用方法==== 先設定server端: 可任意輸入server的port number server開啟接聽埠 client端: 輸入server的ip及port number 連線成功即可開始傳輸 輸入HELP可以查看指令 ============= 編譯前要確定Linker有加上-lws2_32 祝您玩的愉快^^
    2022-04-01 17:57:55下载
    积分:1
  • 696518资源总数
  • 105540会员总数
  • 37今日下载