私は次のサブを持っています:
Private Sub Watcher_Changed(ByVal sender As System.Object, ByVal e As FileSystemEventArgs)
If Path.GetExtension(e.Name) = ".p2p" Then
Exit Sub
Else
Try
' multiple change events can be thrown. Check that file hasn't already been moved.
While Not File.Exists(e.FullPath)
Exit Try
End While
' throw further processing to a BackGroundWorker
ChangedFullPath = e.FullPath
ChangedFileName = e.Name
FileMover = New BackgroundWorker
AddHandler FileMover.DoWork, New DoWorkEventHandler(AddressOf ProcessFile)
FileMover.RunWorkerAsync()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
End Sub
ファイルが FTP によってアップロードされているときに、まだ複数の変更されたファイルの通知を受け取ります。
Try を変更して、過去 (時間) 内に発生した場合は変更通知もスローするようにします。たとえば、3 秒としましょう。些細なことのはずなのに、どういうわけか今日は思い浮かばず、Google で見つけた答えが頭に浮かびません。
ありがとう、スコット