如何检查进程当前是否正在监视某个目录以进行更改?

时间:2018-02-20 12:44:30

标签: c# .net windows pinvoke filesystemwatcher

我知道如何在C ++(或.NET中的FindFirstChangeNotification and related functions)中使用FileSystemWatcher来获取我自己程序中的目录更改通知。

我正在寻找的方法是检查另一个进程当前是否已为某个目录文件夹注册了更改通知。

即。我想要一个我可以问的功能:

  

进程“dropbox.exe”当前是否监控“C:\ MyFiles”?

我发现无法进入系统“存储库”,Windows会保存某个目录的通知处理程序列表。

我最接近的是:

  1. 枚举名为“dropbox.exe”的所有进程。
  2. 对于每个进程list all file handles,它当前已打开。
  3. 但是,我不确定,更改通知是否实际上是文件句柄。

    所以我的问题:

    如何查看给定目录路径和给定进程ID的目录更改通知句柄。

    更新1:

    我希望我不是在问XY problem;我的主要目标是查看Dropbox是否正在运行并为当前登录的用户配置。

    (我可能完全错误地认为Dropbox完全使用Windows目录/文件更改通知。)

0 个答案:

没有答案