|
分類:[.NET 全般]
いつもお世話になっています。
タイトルにあるとおり、VBでフォルダ監視を行い新しいファイルが作成されると処理をするプログラムを作成しているのですが、詰まってしまいました。
現象はWaitForSingleObjectに処理が入った後に、ファイル追加しても反応がなくタイムアウト時間が過ぎても戻ってこない状態です。
■開発環境
windows xp professional 32bit sp3
Visual Studio 2008 Express Edition
----------------- ココからソース -----------------
Public Class Form1
Private Declare Function FindFirstChangeNotification Lib "kernel32" Alias "FindFirstChangeNotificationA" (ByVal lpPathName As String, ByVal bWatchSubtree As Long, ByVal dwNotifyFilter As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function FindNextChangeNotification Lib "kernel32" (ByVal hChangeHandle As Long) As Long
Private Declare Function FindCloseChangeNotification Lib "kernel32" (ByVal hChangeHandle As Long) As Long
Private NotificationHandle As Long
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
NotificationHandle = FindFirstChangeNotification("D:\TEST", False, FILE_NOTIFY_CHANGE_FILE_NAME)
If NotificationHandle = INVALID_HANDLE_VALUE Then
MsgBox("Error")
Exit Sub
End If
Dim RetCode As Long
RetCode = WaitForSingleObject(NotificationHandle, 5000)
If RetCode = WAIT_OBJECT_0 Then
Call MsgBox("NoData")
End If
End Sub
End Class
----------------- ココまでソース -----------------
何回も見直したのですが毎回同じ見方しかできず自分で間違いを探しきれない状態です。
お分かりの方、情報お願いします。
|