我在使用 FileSystemWatcher [vb.net] 时遇到问题

2024-04-24

这是我第一次使用 FileSystemWatcher,但它不起作用。在受监视的路径中创建文件时不会触发它。我的目标是监视程序文件目录中的更改。我会将复制的文件与在线列表(我下载的)进行比较。我还没有完成该部分[如果找到匹配项它将做什么]。我究竟做错了什么?

我还注意到有人说 FSW 有故障或有问题。如果您认为我应该使用其他东西,请告诉我。

Imports System.IO
Imports System.Net
Public Class Form1
Private WithEvents pFiles As FileSystemWatcher
Private WithEvents pFiles32 As FileSystemWatcher
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.WindowState = FormWindowState.Minimized
    Me.ShowInTaskbar = False

    pFiles = New FileSystemWatcher("C:\Program Files", "*.*")
    pFiles.IncludeSubdirectories = True
    If Environment.Is64BitOperatingSystem.Equals(True) Then
        pFiles32 = New FileSystemWatcher("C:\Program Files (x86)", "*.*")
        pFiles32.IncludeSubdirectories = True
    End If
End Sub

Sub badFiles(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles pFiles.Created
    MsgBox("Triggered in x64 folder!")
    Dim fileInfo = New FileInfo(e.FullPath)
    Dim createWord = fileInfo.Name.ToString()
    Dim myWebClient As New System.Net.WebClient
    myWebClient.DownloadFile("http://www.systemlookup.com/lists.php?list=1&type=filename&search=" & createWord & "&s=", "C:\Users\Tyler\Desktop\" & createWord & ".html")
    Dim reader = IO.File.ReadAllText("C:\Users\Tyler\Desktop\" & createWord & ".html")
    If reader.Contains("No results. Please try a different search term.") Then
        MsgBox("Not Found!")
    Else
        If reader.Contains(createWord) Then
            MsgBox("Found!")
        Else
            MsgBox("Not Found!")
        End If
    End If
End Sub

Sub badFiles32(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles pFiles32.Created
    MsgBox("Triggered in x86 folder!")
    Dim fileInfo = New FileInfo(e.FullPath)
    Dim createWord = fileInfo.Name.ToString()
    Dim myWebClient As New System.Net.WebClient
    myWebClient.DownloadFile("http://www.systemlookup.com/lists.php?list=1&type=filename&search=" & createWord & "&s=", "C:\Users\Tyler\Desktop\" & createWord & ".html")
    Dim reader = IO.File.ReadAllText("C:\Users\Tyler\Desktop\" & createWord & ".html")
    If reader.Contains("No results. Please try a different search term.") Then
        MsgBox("Not Found!")
    Else
        If reader.Contains(createWord) Then
            MsgBox("Found!")
        Else
            MsgBox("Not Found!")
        End If
    End If
End Sub
End Class

看来您正在替换模块级变量:

Private WithEvents pFiles As FileSystemWatcher
Private WithEvents pFiles32 As FileSystemWatcher

Private Sub Form1_Load(ByVal sender As System.Object, 
      ByVal e As System.EventArgs) Handles MyBase.Load

    ' this creates a NEW pfiles which only exists in FormLoad
    Dim pFiles As FileSystemWatcher = New FileSystemWatcher("C:\Program Files", 
           "*.*")
    pFiles.IncludeSubdirectories = True

即使你要手动连接它使用AddHandler, that pFiles在表单加载结束时超出范围。正确的语法是:

' since it is already declared (DIM) you just need to instance it (NEW):
pFiles = New FileSystemWatcher(...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我在使用 FileSystemWatcher [vb.net] 时遇到问题 的相关文章

  • 当目录中同时添加很多文件时FileSystemWatcher无法正常工作

    当许多文件同时添加到目录中时 FileSystemWatcher 无法正常工作 观察者根本找不到目录中的所有文件 仅当文件被一一放置在文件夹中时 如果大量文件同时复制到文件夹中则不会 线程的创建是问题的解决方案还是有其他方法来处理问题 Th
  • 只允许在 datagridview 单元格中键入一些字符

    有没有办法只将某些字符添加到 datagridview 单元格中 像 1234567890 据我所知 您可以使用两种方法来实现此目的 第一个 我认为最好的 是使用 CellValidating 事件DataGridView并检查输入的文本是
  • 正则表达式 VB.Net 正则表达式.替换

    我正在尝试执行一个简单的正则表达式查找和替换 在字符串中的一些数字后面添加一个制表符 如下所述 From a users 12345 badges To a users 12345 badges 我正在使用以下内容 s regex repl
  • PMT功能 支付方式

    下面是我计算贷款付款的函数 就像在 Excel 中一样 我需要添加另一个参数 即付款类型 function PMT ir np pv fv ir interest rate per month np number of periods mo
  • 如何在 VB.NET 中单击按钮切换表单语言?

    我想创建本地化应用程序并想要实现语言切换器 例如特殊按钮 我使用 Visual Studio 2010 Express VB NET 我创建了带有一个标签和一个按钮的简单测试应用程序 我将表单的属性 Localized 设置为 True 并
  • 通过访问硬盘序列号来保护软件[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想获得VB NET或VB代码来在启
  • 多线程应用程序的调用方法?

    我的应用程序中有一个错误 与here http forums ni com t5 Measurement Studio for NET Waveform Graph quot X quot Error m p 217817 highligh
  • 跨线程操作无效 VB.NET

    我浏览了该网站 发现与该主题相关的问题是针对 C 的 我正在维护的应用程序是用 VB NET 编写的 因此 如果我忽略了一个问题 我深表歉意 这是我调用我的线程的地方 Private Sub saveBtn Click ByVal send
  • string() 类型的值无法转换为字符串

    我不断收到此错误 我尝试了所有可能的方法 但它仍然显示 String 的值类型无法转换为字符串 这是代码 Private Sub Label1 Click sender As Object e As EventArgs Handles La
  • 为什么 VB.NET 和 C# 中针对值检查 null 存在差异?

    In VB NET http en wikipedia org wiki Visual Basic NET有时候是这样的 Dim x As System Nullable Of Decimal Nothing Dim y As System
  • 将图像文件从网址复制到本地文件夹?

    我有该图像的网址 例如 http testsite com web abc jpg http testsite com web abc jpg 我想将该 URL 复制到 c images 中的本地文件夹中 而且当我将该文件复制到文件夹中时
  • 为什么在按下 Tab 键之前​​不显示焦点矩形?

    我有一个奇怪的问题 可能只是为了理解 为什么在测试应用程序中 直到我按 Tab 键才显示焦点矩形 我想显示一个带有两个单选框和两个按钮的对话框 当我显示对话框时 我希望在第一个单选按钮周围看到一个焦点矩形 以便用户可以看到焦点在哪里 我对控
  • 在VB.NET中获取文件修改日期

    我的文件夹中有许多文件 我需要获取最后修改日期 所以我用了 FDate IO File GetLastWriteTime FName 对于某些文件 它工作正常 但对于其他文件 我得到的日期为 1 1 1601 但是当我在 Windows 资
  • 表单上的 KeyEvents 只能与 CTRL 结合使用

    Code Private Sub KeyHandling ByVal sender As Object ByVal e As System Windows Forms KeyEventArgs Handles Me KeyDown Sele
  • 如何在不使用 LINQ 的情况下按降序对 FileInfo 对象数组进行排序

    我必须降级我的代码才能在 NET 2 0 上工作 因为它不支持 LINQ 目前 该代码对数组进行排序FileInfo对象由他们FullName属性 使用 LINQ 如下所示 Dim files As FileInfo files files
  • .NET 图形重影

    我正在为我们正在开发的新应用程序制作一个示例 GUI 我已经决定了语言 但我可以使用任何第 3 方 DLL 或插件或任何我需要的东西 以使 GUI 尽可能无缝地工作 他们希望它非常像 mac ubuntu vista Windows 7 所
  • DataTable:通过 LINQ 或 LAMBDA 进行动态 Group By 表达式

    我有一个数据表 我想在其中对未指定数量的字段进行分组 发生这种情况的原因是用户可以选择他想要分组的字段 所以 实际上 我将选择推入列表中 在这个选择上 我必须对我的数据表进行分组 想象一下这段代码 VB 或 C 都一样 public voi
  • 如何使用 winforms 在 vb.net 中制作大型按钮网格(24x20 或类似)?

    我正在 vb net WinForms 中制作一个座位预订系统 我需要用户能够选择他们想要使用的座位并改变颜色 这样他们就可以知道它已选择 我开始尝试使用按钮 但 480 个按钮严重减慢了表单的加载时间 然后我尝试了在行 列中带有按钮的数据
  • 如何在 VB.NET 中声明和初始化多维数组?

    我想做这个 Dim Numbers As Integer 1 2 3 4 5 6 7 IDE 的下划线4 5 6 7并说Array initializer has 3 too many elements 我究竟做错了什么 以下应该有效 Di
  • 如何使用 VB.NET 打开受密码保护的共享网络文件夹?

    我需要在网络上打开受密码保护的共享文件夹才能访问 Access 97 数据库 如何打开文件夹并输入密码 在这里找到http www mredkj com vbnet vbnetmapdrive html http www mredkj co

随机推荐

  • 如何在不使用 MATLAB 的情况下打开 .mat 文件?

    我在Matlab中做了一个项目 现在我已经卸载了Matlab 现在 我需要一些我的项目的参考 我留下了所有 mat 文件 我正在尝试在记事本中打开它们 并且我在那里得到了 unicode 字符 我的问题很简单 如何在记事本或某些文字处理器中
  • 如何将 .pb 文件转换为 .h5。 (张量流模型到keras)

    我已经使用重新训练了我的模型tensorflow现在想使用keras以避免会话内容 我怎样才能转换 pb文件至 h5 import tensorflow as tf from tensorflow keras models import s
  • 使用 IAM 角色承担的 Terraform

    我一直在使用 terraform 的访问 密钥来创建 管理我们在 AWS 中的基础设施 但是 我尝试改用 IAM 角色 我应该能够使用我的帐户中的角色并承担另一个帐户中的角色 并且应该能够运行计划 应用等以在另一个帐户中构建基础设施 有什么
  • Node.js 承诺请求返回

    我使用 promis 模块从请求模块返回 json 数据 但每次运行它时 它都会给我这个 Promise 45 0 81 0 65 null 54 null 我无法让它工作 有人知道问题所在吗 这是我的代码 function parse r
  • 无法上传 targetSdkVersion 为 30 的签名 apk

    我生成了一个签名的 apk 目标 sdk 版本为 30 Android 11 我知道它尚未正式发布 但我的应用程序已准备好接受新的更改 我正在尝试将其上传到 google play 控制台 但遇到错误 您上传的 APK 签名无效 了解更多信
  • 在开发中运行时,Google Chrome 中未设置 ASP.net core auth cookie

    我的解决方案中有三个应用程序 全部内置于 asp net core 1 MVC 6 中 应用程序 1 是一个 MVC 应用程序 用于验证用户身份 应用程序 2 是一个 Angular SPA 应用程序 是解决方案中的主要应用程序 App 3
  • 未找到指定的 VM 安装:类型标准 VM,名称 jre7

    未找到指定的 VM 安装 类型标准 VM 名称 jre7 您在 Eclipse 中构建 ant 文件时遇到过这个问题吗 那么这篇文章适合您 删除并重新创建工作区并不是解决方案 有一个简单的解决方案可以解决此问题 而无需重新创建工作区 右键单
  • 由于文件大小为零,无法连接到 NetBeans 发行版

    我最近在 Windows 10 PC 上重新安装了 Netbeans IDE 以恢复一些不相关的配置 当我尝试检查新插件以便能够下载 Sakila 示例数据库时 我收到这个错误 https i stack imgur com 1RqFL p
  • Lucene 3 上的“令牌”列表

    我是 Lucene 的新手 我开始学习版本 3 分支 但有一件事我不明白 显然是因为我在该主题上没有经验 在 Lucene 2 9 中 如果我想要一个令牌列表 我会创建一个 Token 类的 ArrayList 例如 ArrayList 这
  • 如何创建 pinterest 风格隐藏/取消隐藏导航/标签栏?

    如何创建隐藏 取消隐藏导航栏 就像 pinterest 和许多其他应用程序所做的那样 我知道基本的想法是使用 UIScrollView 委托并检测我是否向上或向下滚动并基于此显示导航栏 那么 如果导航栏隐藏 我是否还应该调整导航控制器视图高
  • 无法修改 char 数组

    考虑以下代码 char message foo void main void message bar 为什么 MPLAB IDE v8 63 中出现语法错误 我只是想改变字符数组的值 声明后不能像这样使用字符数组 如果您想为字符数组分配新值
  • 如何通过反射判断 C# 方法是否为 async/await?

    e g class Foo public async Task Bar await Task Delay 500 如果我们反思这个类和方法 我如何确定这是否是一个实际的 async await 方法 而不仅仅是一个恰好返回任务的方法 cla
  • 获得正确的图像旋转[重复]

    这个问题在这里已经有答案了 我有一个简单的问题 当我将图像加载到 Windows 窗体时PictureBox有些图片是旋转的 有些则不是 基本上 用户选择带有OpenFileDialog当选择图片时 private void OpenFD
  • 使用 JPA 实体作为域模型是一个好习惯吗?

    或者创建一个由域模型组成的域层并与 JPA 实体对话以进行数据库访问 两种方法的优缺点是什么 谢谢 这确实取决于您对域进行编码的方式 一般来说 在 Java 中 我更喜欢创建一组单独的 JPA 注释的 DTO 来处理持久性 此类 DTO 将
  • 尝试将应用程序二进制文件上传到 App Store Connect 时,Xcode 12 出现错误

    在 Mac OS 10 15 7 的 Xcode 12 1 中 当我尝试将应用程序二进制文件上传到 App Store Connect 时 我得到 App Store Connect 操作错误 请将 iTMSTransporter 更新为
  • Android 上的嵌套 Fragment 和 ViewPager 问题

    我将 FragmentStatePagerAdapter 与视图分页器结合使用 该视图分页器嵌套在 Android 上的片段中 因此 我将 ChildFragmentManager 与 FragmentStatePagerAdapter 结
  • 引用 Attach() 中新定义的变量

    我想对数据框的列进行许多修改 然而 由于需要大量的列和转换 我想避免一遍又一遍地使用数据框名称 在 SAS 数据步骤中 您可以在一个数据步骤内创建一个变量并在定义后立即引用它 data A set A varA varB gt 1 varC
  • 如何检测pyside2中Qwebengine内的按钮点击

    我在 pyside2 中编写了一个应用程序 它在 QWebEngine 中打开一个网页 该网页有 2 个按钮 我不明白如何检测 pyside2 应用程序模块中的按钮单击 我需要对该按钮单击执行其他操作 Example 下面是我的代码 fro
  • main:Object 的未定义方法“run”

    部署时我得到以下输出 cap aborted NoMethodError undefined method run for main Object config deploy rb 37 in block 2 levels in
  • 我在使用 FileSystemWatcher [vb.net] 时遇到问题

    这是我第一次使用 FileSystemWatcher 但它不起作用 在受监视的路径中创建文件时不会触发它 我的目标是监视程序文件目录中的更改 我会将复制的文件与在线列表 我下载的 进行比较 我还没有完成该部分 如果找到匹配项它将做什么 我究