问题标签 [filesystemwatcher]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1534 浏览

c++ - 使用 ReadDirectoryChangesW 是否需要管理员权限?

MSDN 说使用 ReadDirectoryChangesW 意味着调用进程具有备份和还原权限。

这是否意味着只有在管理员帐户下启动的进程才能正常工作?

我尝试了以下代码,以受限用户身份运行时无法启用所需的权限。

难道我做错了什么?从非管理员用户帐户使用 ReadDirectoryChangesW 是否有任何解决方法?.NET 的 FileSystemWatcher 似乎可以做到这一点。谢谢!

更新:这是该类的完整代码:

更新:好消息!事实证明,问题确实出在调用 CreateFile 中的 FILE_SHARE_WRITE 标志中。除非我是管理员,否则不会收到通知。当我删除此标志时,现在一切都在非管理员帐户上运行。

0 投票
1 回答
4018 浏览

c# - FileSystemWatcher 事件触发问题

看起来,FileSystemWatcher 不止一次触发事件。这是我的设置;

  • 如果更改文档,则会触发两次 Document changed 事件。

  • 除非在文件夹下创建新文件,否则不会触发新文件夹创建事件。

  • 未触发已删除事件(也尝试使用 shift delete)

你们知道解决这些问题的方法吗?

0 投票
2 回答
766 浏览

c# - 每个路径上的每个扩展上的 C#/WPF FileSystemWatcher

我需要 FileSystemWatcher,它可以观察相同的特定路径和特定扩展。但是路径可能有几十个、几百个或几千个(希望不是:P),与扩展相同。路径和分机由用户添加。

创建数百个 FileSystemWatcher 这不是一个好主意,不是吗?

那么 - 怎么做呢?是否可以观看/观察每个设备(HDD、SD 闪存、笔式驱动器等)?会有效率吗?我不这么认为...... 每个更改的 Windows 日志文件,通过防病毒程序扫描文件 - 它可能真的会减慢我使用 SystemWatcher 的程序 :(

0 投票
1 回答
2279 浏览

.net - 从 SQLite 接收 .NET 中的数据库更新事件

我最近在http://sqlite.phxsoftware.com/发现了 SQLite 的强大之处,特别是 SQLite 的 .NET 包装器。

现在,假设我正在开发将在同一网络上的多台机器上运行的软件。没什么疯狂的,可能只有 5 或 6 台机器。并且这些软件实例中的每一个都将访问存储在共享目录中的文件中的 SQLite 数据库(这是一个坏主意吗?如果是,请告诉我!)。

如果一个实例更新数据库文件,是否有办法通知应用程序的每个实例?一种明显的方法是使用FileSystemWatcher该类,将整个数据库读入一个 DataSet,然后……你知道……枚举整个事物以查看新内容……但是,实际上,这看起来很愚蠢。有没有提供 SQLite 更新的东西?

这甚至作为一个问题有意义吗?当谈到 ADO.NET 时,我也是一个新手,所以我可能从完全错误的角度来处理这个问题。

0 投票
7 回答
39784 浏览

c# - 使用 FileSystemWatcher 监控多个文件夹

在 C# 中使用 FileSystemWatcher 监视多个文件夹(不是子目录)的最佳方法是什么?

0 投票
2 回答
1797 浏览

vb.net - 文件系统观察程序 - 已删除文件夹

我正在写一项服务来观察不同文件夹中是否存在不同的文件......我正在使用文件系统观察器来获取事件。

作为部署的一部分,监视文件夹之一被删除并不时创建新文件夹。

结果服务抛出错误并停止......

是否有可能捕获这种错误并通过服务在新文件夹上重新创建文件观察器?

0 投票
1 回答
1715 浏览

c# - 为特定更新禁用 FileSystemWatcher?

有没有人知道当我的应用程序更改目录中的文件时如何可靠地禁用 FileSystemWatcher 对象,以便我只监视目录的外部更改?

我尝试EnableRaisingEvents在执行写入之前立即设置为 false 并在之后立即将其设置回 true ,但似乎这种方法不可靠,偶尔我仍然会触发事件。

我能想到的唯一另一件事是在执行写入后等待一小段时间,让操作系统在重新启用 FSW 之前完成对目录的修改,但这似乎很不自然,我不喜欢它。


更糟糕的是,该目录可能包含许多文件,这些文件的身份超出了我的知识和控制范围,因此我不能只是等待事件针对特定文件触发然后忽略它。一次修改后可能会触发任意数量的 FSW 事件(因为可能会更新许多文件)。

0 投票
4 回答
855 浏览

c# - C#:更新数据网格

我有一个 C# 应用程序,它带有一个 Windows 形式的数据网格。我需要监视一个目录(正在使用 FileSystemWatcher)并使用目录中的文件列表刷新数据网格。我不确定如何设置界面来做到这一点?从 windows-form Load() 调用 monitorDirectory() 似乎不起作用,因为 Load 在应用程序中只调用一次。

谢谢

0 投票
1 回答
860 浏览

c# - 在标准输出上刷新

我有一个 FileSystemWatcher 对象设置来监视控制台应用程序写入的日志文件的更改。通知过滤器设置为:watcher.NotifyFilter = NotifyFilters.Size | NotifyFilters.LastWrite | NotifyFilters.LastAccess; 环境:操作系统:Win 2k8 服务器。

转储到重定向到文件 out.log 的标准输出的控制台应用程序代码:

void MySet::Dump() { std::cout << this << endl; fflush(标准输出);}

在我运行转储(在调试器的即时窗口中)后,文件大小保持不变。如果我运行“类型”命令,更新似乎就会发生。有任何想法吗

c:\temp> 目录 2010 年 5 月 21 日上午 11:11 4,159 out.log

转储后:(无变化)

c:\temp> 目录 05/21/2010 11:11 AM 4,159 out.log

运行“类型”命令...

c:\temp>type out.log 文件现在具有新大小... c:\temp> dir 05/21/2010 11:11 AM 4,410 out.log

为什么会出现这种行为?我在这里错过了什么吗?提前致谢。

0 投票
2 回答
954 浏览

c# - 使用 FileSystemWatcher 监视目录

您好,我正在使用 FileSystemWatcher 监视目录。

当在该目录中创建文件时 - 我的观察者将其抓取并传输到网络驱动器。我的问题是,当打开 Microsoft-office 文件时,会在监视目录中创建一个临时文件。我找不到忽略这些文件的方法,也找不到何时将这些文件移动到网络驱动器。