网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VB.net > 正文
VB.NET中监视文件夹的变化
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
CanStop 或 CanPauseAndContinue 为 true 时,才会在 SCM 的上下文菜单中启用“停止”、“暂停”或“继续”。如果已启用,则相应的命令将传递到服务,并且调用 OnStop、OnPause 或 OnContinue。如果 CanStop、CanShutdown 或 CanPauseAndContinue 为 false,则即使已实现相应的命令处理方法(如 OnStop),也不会予以处理。



       上面是创建任何一个服务,我们都会涉及到的只是,具体在监视文件夹变化的时候,我们用到了FileSystemWatcher。



关于FileSystemWatcher:



       侦听文件系统更改通知,并在目录或目录中的文件发生更改时引发事件。

       使用 FileSystemWatcher 监视指定目录中的更改。可监视指定目录中的文件或子目录的更改。该组件可以监视本地计算机、网络驱动器或远程计算机上的文件。(当然只读的媒体介质比如cd和dvd,它们文件的属性不会改变,所以也就不能触发事件)

       若要监视所有文件中的更改,请将 Filter 属性设置为空字符串 ("")。若要监视特定的文件,请将 Filter 属性设置为该文件名。例如,若要监视文件 MyDoc.txt 中的更改,请将 Filter 属性设置为“MyDoc.txt”。也可以监视特定类型文件中的更改。例如,若要监视文本文件中的更改,请将 Filter 属性设置为“*.txt”。

       可监视目录或文件中的若干种更改。例如,可监视文件或目录的 Attributes、LastWrite 日期和时间或 Size 方面的更改。通过将 FileSystemWatcher.NotifyFilter 属性设置为 NotifyFilters 值之一来达到此目的。

       可监视文件或目录的重命名、删除或创建。例如,若要监视文本文件的重命名,请将 Filter 属性设置为“*.txt”,并调用 WaitForChanged 方法之一,调用时给出 WatcherChangeTypes 值的 Renamed。



Demo:

       新建一个project,选择windows 服务类型,命名为WinServiceFileWatching,我们看到project的引用中自动添加了System.ServiceProcess名空间(这就是创建一个服务的函数集)。从工具中的组件中选择FileSystemWatcher1,拖放到service1的设计模式上,然后设置如下属性:

       Filter 获取或设置筛选字符串,用于确定在目录中监视哪些文件。 我们设置为*.*,即所有文件

       IncludeSubdirectories 获取或设置一个值,该值指示是否监视指定路径中的子目录。 设置为true

       Path 获取或设置要监视的目录的路径             设置为我们要监视的对象,比如C:\DonnetData

       然后添加以下代码:

Protected Overrides Sub OnStart(ByVal args() As String)

        '' 在此处添加启动服务的代码。此方法应设置具体的操作

        '' 以便服务可以执行它的工作。

        FileSystemWatcher1.EnableRaisingEvents = True

       '' 我们也可以根据输入的参数args动态设定要监视的对象

       ''FileSystemWatcher1.path= args(0)

End Sub



'' 创建文件(夹)时候触发,记录创建信息到e:\log.txt中

Priva
  • 上一篇资讯: 用Vb.net实现自定义界面
  • 下一篇资讯: VB.NET中声音的播放
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号