c# - 使用 StorageLibrary 来监听文件更改 UWP

标签 c# c++ uwp

我最近找到了this响应在通用 windows 平台中监听文件更改的文章。我希望能够指定一个文件夹并监听其中文件和文件夹的创建/删除和移动。我发现的其他方法包括创建一个可观察的集合并为 CollectionChanged 事件设置一个方法来处理更改,但是这并不能让我访问到底发生了什么变化。像文章中的示例一样使用 StorageLibrary 似乎是最佳途径,但是 StorageLibraries 是从 KnownFolderIds 创建的。将我指定的文件夹添加到 KnownFolderId 列表是否值得考虑,还是我应该寻找其他地方?

最佳答案

作为the article提到,有两种类型的更改通知:前台更改事件后台更改通知

enter image description here
对于前台更改事件,它可用于任何文件夹或库,但仅当应用程序在前台运行时才可用。对于后台更改通知,即使应用程序未运行,它也可以继续监视,但仅适用于命名库。因此,对于您的问题,这取决于您的特定情况。您可以根据需要选择其中之一。

然而,KnownFolderId是一个枚举,没有办法给它添加文件夹。我们可以做的是使用 StorageLibrary.RequestAddFolderAsync方法提示用户选择一个文件夹,然后将该文件夹添加到已知库之一。而且除了这两个变化通知之外,目前还没有其他方法可以在 UWP 中监控文件系统的变化。

关于c# - 使用 StorageLibrary 来监听文件更改 UWP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41172730/

相关文章:

c++ - 使用标准类型的 ADL 无法找到运算符

c# - UWP StorageLibraryContentChanged删除多个文件时触发

azure - azure 应用服务身份验证模块是否支持 azure ad b2c?

c# - 使用格式化将富文本框的数据存储到数据库中

c# - 如何将对任意文件的依赖添加到 T4 模板?

c# - 窗口形式 c# 对房间列表进行排序,这是一个字符串

c# - LINQ to SQL - 动态表属性

c++ - 从函数重新调整对象时,C++ 如何知道要复制多少字节?

c++ - 指向未知位置的指针数组

c# - UWP 网格填充父窗口