显示文件属性

时间:2018-08-30 21:27:14

标签: vb.net

可以显示具有完整路径和日期的文件属性。我想将文件大小和/或文件的哈希值添加到输出中(如果可能的话),数据将被写入尚未完成的文本文件中,但我想首先进行基本操作。说完这些后,它将用作USB驱动器的文件监视器。

    Imports System.IO
Public Class Form1
    Inherits System.Windows.Forms.Form
    Private WithEvents objWatcher As New clsFSW()

#Region " Windows Form Designer generated code "

    Public Sub New()
        MyBase.New()

        'This call is required by the Windows Form Designer.
        InitializeComponent()

        'Add any initialization after the InitializeComponent() call

    End Sub

    'Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
    Friend WithEvents cmdStart As System.Windows.Forms.Button
    Friend WithEvents cmdStop As System.Windows.Forms.Button
    Friend WithEvents Label1 As System.Windows.Forms.Label
    Friend WithEvents txtFolder As System.Windows.Forms.TextBox
    Friend WithEvents chkSubFolders As System.Windows.Forms.CheckBox
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.TextBox1 = New System.Windows.Forms.TextBox()
        Me.cmdStart = New System.Windows.Forms.Button()
        Me.cmdStop = New System.Windows.Forms.Button()
        Me.Label1 = New System.Windows.Forms.Label()
        Me.txtFolder = New System.Windows.Forms.TextBox()
        Me.chkSubFolders = New System.Windows.Forms.CheckBox()
        Me.SuspendLayout()
        '
        'TextBox1
        '
        Me.TextBox1.Location = New System.Drawing.Point(32, 8)
        Me.TextBox1.Multiline = True
        Me.TextBox1.Name = "TextBox1"
        Me.TextBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
        Me.TextBox1.Size = New System.Drawing.Size(392, 240)
        Me.TextBox1.TabIndex = 0
        Me.TextBox1.Text = ""
        '
        'cmdStart
        '
        Me.cmdStart.Location = New System.Drawing.Point(120, 336)
        Me.cmdStart.Name = "cmdStart"
        Me.cmdStart.TabIndex = 1
        Me.cmdStart.Text = "Start Watch"
        '
        'cmdStop
        '
        Me.cmdStop.Location = New System.Drawing.Point(216, 336)
        Me.cmdStop.Name = "cmdStop"
        Me.cmdStop.TabIndex = 2
        Me.cmdStop.Text = "Stop Watch"
        '
        'Label1
        '
        Me.Label1.AutoSize = True
        Me.Label1.Location = New System.Drawing.Point(6, 272)
        Me.Label1.Name = "Label1"
        Me.Label1.Size = New System.Drawing.Size(93, 13)
        Me.Label1.TabIndex = 3
        Me.Label1.Text = "Folder to Monitor:"
        '
        'txtFolder
        '
        Me.txtFolder.Location = New System.Drawing.Point(110, 272)
        Me.txtFolder.Name = "txtFolder"
        Me.txtFolder.Size = New System.Drawing.Size(184, 20)
        Me.txtFolder.TabIndex = 4
        Me.txtFolder.Text = ""
        '
        'chkSubFolders
        '
        Me.chkSubFolders.Location = New System.Drawing.Point(312, 272)
        Me.chkSubFolders.Name = "chkSubFolders"
        Me.chkSubFolders.Size = New System.Drawing.Size(128, 24)
        Me.chkSubFolders.TabIndex = 6
        Me.chkSubFolders.Text = "Include Subfolders"
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(464, 373)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.chkSubFolders, Me.txtFolder, Me.Label1, Me.cmdStop, Me.cmdStart, Me.TextBox1})
        Me.Name = "Form1"
        Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
        Me.Text = "File System Watcher Class Demo"
        Me.ResumeLayout(False)

    End Sub

#End Region

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        cmdStop.Enabled = False
        With objWatcher


        End With
    End Sub



    Private Sub cmdStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdStart.Click
        Dim sDir As String
        sDir = txtFolder.Text

        If IO.Directory.Exists(sDir) Then
            objWatcher.FolderToMonitor = sDir
            objWatcher.StartWatch()
            cmdStop.Enabled = True
            cmdStart.Enabled = True
            chkSubFolders.Enabled = True
        Else
            MessageBox.Show("Folder does not exist!")

        End If
    End Sub

    Private Sub cmdStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdStop.Click
        objWatcher.StopWatch()
        cmdStop.Enabled = True
        cmdStart.Enabled = True
        chkSubFolders.Enabled = True

    End Sub

    Private Sub chkSubFolders_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkSubFolders.CheckedChanged
        objWatcher.IncludeSubfolders = (chkSubFolders.Checked = True)
    End Sub

    Private Sub objWatcher_FileCreated(ByVal FullPath As String) Handles objWatcher.FileCreated
        TextBox1.Text &= "File Created:  " & FullPath & ", " & DateString & vbCrLf
    End Sub

    Private Sub objWatcher_FileChanged(ByVal FullPath As String) Handles objWatcher.FileChanged
        TextBox1.Text &= "File Changed: " & FullPath & ", " & DateString & vbCrLf
    End Sub

    Private Sub objWatcher_FileDeleted(ByVal FullPath As String) Handles objWatcher.FileDeleted
        TextBox1.Text &= "File Deleted: " & FullPath & ", " & DateString & vbCrLf
    End Sub

    Private Sub objWatcher_FileRenamed(ByVal OldFileName As String, ByVal newFileName As String) Handles objWatcher.FileRenamed
        TextBox1.Text &= "File Rename: " & OldFileName & " to " & newFileName & ", " & DateString & vbCrLf
    End Sub

    Private Sub objWatcher_FileWatchError(ByVal ErrMsg As String) Handles objWatcher.FileWatchError
        TextBox1.Text &= "The following error occurred: " & ErrMsg & vbCrLf
    End Sub
End Class

0 个答案:

没有答案