“文件系统观察程序活动”示例
此示例演示如何创建可用于侦听文件系统事件的活动。 它阐释了在开发可侦听文件系统事件(比如在特定文件夹中创建文件)的活动时如何使用队列。
此示例包括一个自定义服务,FileWatcher 活动可以利用该服务注册对特定种类文件系统事件的关注。 当发生此类事件时,该服务将向活动传送事件。
编写 FileWatcher 活动的目的是为了使其既能自己运行,也能在 EventDrivenActivity 父活动中运行。 这样,举例来说,将能够在 ListenActivity 活动中使用 FileWatcher 活动。 随此示例一起提供的示例工作流中阐释了这一点。
可以将 FileWatcher 活动配置为具有 Path、Filter、NotifyFilter 和 bool 值,该值指示是否应考虑给定路径的子目录。 这些属性构成了特定类型文件系统事件的“订阅”。
生成示例
通过单击**“下载示例”**来下载该示例。
这会将示例项目提取到本地硬盘。
单击**“开始”,依次指向“程序”和“Microsoft Windows SDK”,然后单击“CMD 外壳”[CMD Shell]**。
转到示例的源目录。
在命令提示符处键入 MSBUILD <解决方案文件名>。
运行示例
创建文件夹 C:\temp 和 C:\temp2(如果这些文件夹不存在)。
在**“SDK 命令提示”[SDK Command Prompt]**窗口中,运行 FileWatcherTestHost\bin\debug 文件夹(对于该示例的 VB 版本为 FileWatcherTestHost\bin 文件夹)中的 .exe 文件,该文件夹位于该示例的主文件夹下。
将文件拖入 C:\temp 目录。
这会将事件传送到工作流中的第一个 FileWatcher 活动。
将文件拖入 C:\temp2 目录。
这会将事件传送到工作流中的第二个 FileWatcher 活动。 ListenActivity 活动具有分支,该分支包含 20 秒的延迟。 如果在该时间范围内未将文件放入 C:\temp2 文件夹,工作流将继续执行下一步。
将文件拖入 C:\temp 目录。
这会将事件传送到工作流中的第三个 FileWatcher 活动。
请参见
参考
其他资源
Creating a Custom Activity
“自定义活动”示例
“同步”示例
版权所有 (C) 2007 Microsoft Corporation。保留所有权利。