我使用 执行ReadDirectoryChangesW监测变化桌面上。我的程序,计划进行一些小节目的创建文件时在桌面上。

现在的问题我到时候我创建一个新的快捷方式通过的权利键菜单ReadDirectoryChangesW得到通知,说该文件已经建立,但后得到另一个通知说该文件已经被删除。我已经跑到这个问题,因为Windows Vista。

任何人有任何想法什么可能是错的?还有其他功能我应该用来监测目录的更改,具体到Vista和7吗?

谢谢, 克里希纳

有帮助吗?

解决方案 3

我设法解决这个问题。我仍然不知道为什么我收到的所有那些奇怪ReadDirectyChangesW事件,但我有我的最终结果,所以我离开这个问题是。

感谢所有帮助。

其他提示

的Windows做一些有趣的东西用的.lnk文件,这样你无法看到.lnk扩展名的。也许这就是为什么删除的通知被发送,因为Windows本身不能看到“新Shortcut.lnk”文件中,只有“新建快捷方式”。但是,这只是一个理论。

所以,我会做的是设法解决它,而忽略了文件的删除通知,如果该文件仍然存在。假设可以计算出该.lnk文件确实还存在当然:)

你有没有定义的任何过滤器:你可能是看到快捷方式正在重新创建(和不匹配你的过滤器)。

资源管理器,往往会造的东西用的一个固定的名称,然后重新命名它们。所以 ReadDirectoryChangesW 会看到多变化。

其他的想法:

注意到,缓冲区的变化通知可包含多个通知,所有被读取。

这是什么 过程监视器 显示在同一时间?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top