我的一段关于线程的程序如下:
//---------------------------------------------------------------------------#include <vcl.h>
#pragma hdrstop#include "Thread.h"#include "Unit1.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------//   Important: Methods and properties of objects in VCL can only be
//   used in a method called using Synchronize, for example:
//
//      Synchronize(UpdateCaption);
//
//   where UpdateCaption could look like:
//
//      void __fastcall WatchThread::UpdateCaption()
//      {
//        Form1->Caption = "Updated in a thread";
//      }
//---------------------------------------------------------------------------__fastcall WatchThread::WatchThread(bool CreateSuspended)
        : TThread(CreateSuspended)
{
}
//---------------------------------------------------------------------------
void __fastcall WatchThread::Execute()
{
        //---- Place thread code here ----
    DWORD dwWaitStatus ;
    bool IsChange =false ;    HANDLE dwChangeHandle ;        //返回通知的句柄    dwChangeHandle=FindFirstChangeNotification( "E:\\restep", false,    FILE_NOTIFY_CHANGE_LAST_WRITE) ; //设置返回通知的句柄    if(dwChangeHandle==INVALID_HANDLE_VALUE)    ExitProcess(GetLastError()) ;    while(true)                    //设置循环,监视是否有
    { 
     IsChange = FindNextChangeNotification(dwChangeHandle) ;     if( IsChange )
     {
      dwWaitStatus = WaitForSingleObject(dwChangeHandle,-1) ; //通知返回      switch(dwWaitStatus)
      {
       case 0:
       ShowMessage("文件内容已经发生变化,请刷新!");
       WinExec("C:\\Program Files\\EDS\\Unigraphics NX\\STEP214UG\\step214ug.cmd" ,SW_RESTORE);       continue ;       default:       FindCloseChangeNotification(dwChangeHandle) ; //关闭句柄       ExitProcess( GetLastError() ) ;       break ;
      }
     }
    }
}
//---------------------------------------------------------------------------
可是运行时,在第一次文件夹下发生变化时,后调用程序,当文件夹下再次发生变化时,却没响应了,不知什么原因,高手能看一下吗?我想要实现的是在一个指定的文件夹下每当有文件发生一次变化,就调用一次应用程序