以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- FileSystemWatcher 怎么停止监控 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=131312) |
-- 作者:淡月斜阳 -- 发布时间:2019/2/22 18:13:00 -- FileSystemWatcher 怎么停止监控 For Each r As Row In Tables("表A").Rows Dim watcher As new System.IO.FileSystemWatcher() \'监视路径 watcher.Path = r("第一列") \'监视子文件夹 watcher.IncludeSubDirectories=True \'重命名 addhandler watcher.Renamed, addressof watcher_Renamed \'addhandler watcher.Changed, addressof watcher_Changed \'addhandler watcher.Deleted, addressof watcher_Deleted \'addhandler watcher.Created, addressof watcher_Created watcher.EnableRaisingEvents = true Next 根据表,定义了多个监控,监控不同位置。 1.怎么把监控停下来 2.一次修改,会解发多次事件,有时一次,有时触发三次,怎么解决 |
-- 作者:有点蓝 -- 发布时间:2019/2/22 20:18:00 -- 1、把watcher 的定义发到全局代码 dim watcherList as List(of System.IO.FileSystemWatcher) 原来的调用 watcherList = new List(of System.IO.FileSystemWatcher) For Each r As Row In Tables("表A").Rows Dim watcher As new System.IO.FileSystemWatcher() \'监视路径 watcher.Path = r("第一列") \'监视子文件夹 watcher.IncludeSubDirectories=True \'重命名 addhandler watcher.Renamed, addressof watcher_Renamed \'addhandler watcher.Changed, addressof watcher_Changed \'addhandler watcher.Deleted, addressof watcher_Deleted \'addhandler watcher.Created, addressof watcher_Created watcher.EnableRaisingEvents = true watcherList.add(watcher) Next 停用 for each watcher as System.IO.FileSystemWatcher in watcherList watcher .EnableRaisingEvents = False net 2、什么文件?有些文件如word会生成几个临时文件的 其次定义的多个watcher监控的目录有没有交叉,如果有每个watcher肯定都会触发一次 |