如何返回监控的目录改变的文件名或者路径!

解决方案 »

  1.   

    http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_int/shell_int_extending/extensionhandlers/copyhookhandlers.asp
    http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/functions/ntshchangenotifyregister.asp
      

  2.   

    我用的是sample 里的组件  ShellChangeNotifier 。因为我要监控磁盘下文件夹的变化。
    比如:d:\和e:\我只要知道d:\里,变化的文件夹名就可以了。文件不管。比如,d:\test 里复制了一个文件进去。
    我只要返回test目录名就可以了。
      

  3.   

    监测目录/文件的变化:
    Root设置要监测的目录;
    WatchSubTree设置是否要监测子目录;
    NotifyFilters设置要监测的变化事件:
      nfFileNameChange   - 文件名改变
      nfDirNameChange    - 目录名改变
      nfAttributeChange  - 属性改变
      nfSizeChange       - 大小改变
      nfWriteChange      - 写入
      nfSecurityChange   - 安全性改变(可能是指NT/2000/XP上的安全性吧)
    只要控件监测到你设置的变化,就会产生OnChange事件。
      

  4.   

    自己写代码判断,先记录当前状态的目录/文件名,在OnChange时重新读取目录/文件名,跟原来的作比较。可以用FindFirst、FindNext实现。