我可以使用FindFirstChangeNotification和FindNextChangeNofication而不是ReadDirectoryChangesW在指定目录中获取文件信息更改吗?

时间:2008-12-04 03:31:47

标签: c++ windows readdirectorychangesw

我希望在指定目录的文件或子目录中有任何更改时收到通知。我通过以下简单的代码段实现了该功能:

UINT myThreadFunc(LPVOID pParam)
{
  int changeCount = 0;

  while(true)
  {
    HANDLE changeHandle = FindFirstChangeNotification(L"C:\\", TRUE, FILE_NOTIFY_CHANGE_FILE_NAME);
    WaitForSingleObject(changeHandle, INFINITE);
    cout<<"A modifaction has occured"<<endl;
    changeCount++;

    if (changeCount >= 10)
        break;
    if ( FindNextChangeNotification( changeHandle ) == FALSE )
        break;
  }
  bIsExit = TRUE;
  return 0;
}

如何在不使用ReadDirectoryChangesW的情况下获取操作类型或文件名等信息?

1 个答案:

答案 0 :(得分:1)

MSDN声明:

此功能不表示满足等待条件的更改。要在通知中检索有关特定更改的信息,请使用ReadDirectoryChangesW函数。(选中link text