精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>C/C++>>文件系统与注册表>>Re:请问删除文件的系统消息!

主题:Re:请问删除文件的系统消息!
发信人: zqx9543(张Q)
整理人: wenbobo(2003-08-23 11:00:11), 站内信件
建议你编写一个监视硬盘文件或文件夹的程序
用以下三个函数:
    FindFirstChangeNotification( );
  FindNextChangeNotification( );
  WaitForSingleObject( ); 
其中FindFirstChangeNotification(lpzpath,fwatchsubtree,fdwfilter)
中的lpzpath表示要监视的路径名,fwatchsubtree判断是否查看子目录,
fdwfilter为要监视的事件,函数执行成功后返回一个句柄。 
  参数fdwfilter取值及其含义如下:
  FILE_NOTIFY_CHANGE_FILE_NAME
  查看指定目录下任何文件名的改变
  FILE_NOTIFY_CHANGE_DIR_NAME
  查看指定目录下任何目录名的改变
  FILE_NOTIFY_CHANGE_SIZE
  查看指定目录下文件大小的改变
  FILE_NOTIFY_CHANGE_ATTRIBUTES
  查看指定目录下文件属性的改变
FindNextChangeNotification(hchange),hchan
  ge为FindFirstChangenNotification返回的句柄,其作用是请求系统
在下次检测到相应改变时发出改变通知消息句柄。当函数成功返回后,应
用程序可通过WaitForMultipleObjects或WaitfForSingleObject来等待发
生改变的通知。WaitForSingleObject(hchange,dwmilliseconds)中
hchange为FindFirstChangeNotification 返回的句柄,dwmilliseconds
为等待时间值,指定等待完成需要的时间,单位为毫秒。该值为-1时表
示时间无限长。最好在结束监视程序之前先用FindCloseChangeNotification(hchange)
来关闭句柄。
(转自 赵晓辉的《监视程序的编制》)
【 在 jxwch 的大作中提到:】
:如果想在Windows下监视某个目录或文件,应该处理那个系统消息!
:......
 

[关闭][返回]