“文件系统观察程序活动”示例

Download sample

此示例演示如何创建可用于侦听文件系统事件的活动。 它阐释了在开发可侦听文件系统事件(比如在特定文件夹中创建文件)的活动时如何使用队列。

此示例包括一个自定义服务,FileWatcher 活动可以利用该服务注册对特定种类文件系统事件的关注。 当发生此类事件时,该服务将向活动传送事件。

编写 FileWatcher 活动的目的是为了使其既能自己运行,也能在 EventDrivenActivity 父活动中运行。 这样,举例来说,将能够在 ListenActivity 活动中使用 FileWatcher 活动。 随此示例一起提供的示例工作流中阐释了这一点。

可以将 FileWatcher 活动配置为具有 Path、Filter、NotifyFilter 和 bool 值,该值指示是否应考虑给定路径的子目录。 这些属性构成了特定类型文件系统事件的“订阅”。

生成示例

  1. 通过单击**“下载示例”**来下载该示例。

    这会将示例项目提取到本地硬盘。

  2. 单击**“开始”,依次指向“程序”“Microsoft Windows SDK”,然后单击“CMD 外壳”[CMD Shell]**。

  3. 转到示例的源目录。

  4. 在命令提示符处键入 MSBUILD <解决方案文件名>

运行示例

  1. 创建文件夹 C:\temp 和 C:\temp2(如果这些文件夹不存在)。

  2. 在**“SDK 命令提示”[SDK Command Prompt]**窗口中,运行 FileWatcherTestHost\bin\debug 文件夹(对于该示例的 VB 版本为 FileWatcherTestHost\bin 文件夹)中的 .exe 文件,该文件夹位于该示例的主文件夹下。

  3. 将文件拖入 C:\temp 目录。

    这会将事件传送到工作流中的第一个 FileWatcher 活动。

  4. 将文件拖入 C:\temp2 目录。

    这会将事件传送到工作流中的第二个 FileWatcher 活动。 ListenActivity 活动具有分支,该分支包含 20 秒的延迟。 如果在该时间范围内未将文件放入 C:\temp2 文件夹,工作流将继续执行下一步。

  5. 将文件拖入 C:\temp 目录。

    这会将事件传送到工作流中的第三个 FileWatcher 活动。

请参见

参考

Activity
DependencyProperty

其他资源

Creating a Custom Activity
“自定义活动”示例
“同步”示例

Footer image

版权所有 (C) 2007 Microsoft Corporation。保留所有权利。