首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >QFileSystemWatcher在Windows上锁定目录

QFileSystemWatcher在Windows上锁定目录
EN

Stack Overflow用户
提问于 2014-09-04 05:50:21
回答 1查看 1.1K关注 0票数 0

我正在使用QFileSystemWatcher递归地监视一个目录。如果正在监视父目录的子目录,我无法以编程方式或手动地重命名/删除父目录。

当试图通过系统手动重命名时,我会收到一个消息框,上面写着“无法完成操作,因为其中的文件夹/文件是在另一个程序中打开的”,并且在以编程方式重命名时失败。

我也有类似的错误,但没有解决办法:

http://qt-project.org/forums/viewthread/10530

https://bugreports.qt-project.org/browse/QTBUG-7905

我没在看。然后..。如上述链接所述,但目录仍被锁定。

如果以编程方式重命名..。我尝试了一个解决方法: 1.在重命名父目录之前,从观察者中删除所有子目录路径。2.重命名父母。3.再次添加子目录路径。

但在这里,我的程序在第一步就失败了。当试图删除子目录路径时,QFileSystemWatcher::removePath()返回false,而QFileSystemWatcher::directory ()则在正在监视的路径中显示该目录。与在此发布的https://bugreports.qt-project.org/browse/QTBUG-10846相同

由于步骤1在这里失败,步骤2也会失败,因此我不能重命名父dir。

我正在使用Qt5.2.1和Windows 7。

请帮我下个决心。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-26 07:22:48

这是QFileSystemWatcher中的一个bug,如所讨论的这里

经过几天的尝试,我终于能够通过使用Windows来监视Win32平台上的目录,找到解决问题的方法。我写了一篇关于如何使用Win32 Api监视目录变化的博客文章。我想与大家分享这个联系,这样可以帮助其他人找到解决同样问题的方法。监视目录更改的Win32 API

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25658123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档