我可以使用 FindFirstChangeNotification 和 FindNextChangeNofication 而不是 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
的情况下获取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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
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)