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

发布于 2024-07-09 10:59:54 字数 619 浏览 9 评论 0原文

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

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的情况下获取Action类型或Filename等信息?

I want to be notified when a specified directory has any changes in its files or subdirectories. I realize the function with the following simple code segment:

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;
}

How can I get information such as Action type or Filename without using ReadDirectoryChangesW?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

若相惜即相离 2024-07-16 10:59:55

MSDN 指出:

该函数并不表示满足等待条件的更改。 要检索有关特定更改的信息作为通知的一部分,请使用 ReadDirectoryChangesW 函数。(检查 链接文本)

MSDN states :

This function does not indicate the change that satisfied the wait condition. To retrieve information about the specific change as part of the notification, use the ReadDirectoryChangesW function.(check link text)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文