微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 检测打开文件上的文件删除

我打开一个具有读访问权限的文件,允许后续读取|写入|删除文件共享访问该文件(拖尾文件).如果在处理过程中删除文件,则可以检测文件是否处于待定删除状态(请参阅文件部分 http://msdn.microsoft.com/en-us/library/aa363858(v=VS.85).aspx)?如果某个外部进程(拥有进程)已发出删除,我想尽快关闭我的句柄以允许删除文件,以免干扰拥有进程中的任何逻辑.

我在C#中,没有看到检测挂起删除方法.该文件是使用FileStream对象打开的.是否有一些方法可以在C#或其他一些Windows函数中检测删除

解决方法

我会使用不同的信令机制. (我假设所有文件访问都在您的控制之内,而不是来自封闭的外部程序,主要是由于使用了标志.)

我能想到的唯一“解决方案”是对文件访问进行轮询并检查您获得的异常(如果有的话).也许有一些更棘手的东西(比win32文件API更低级别?!?),但这已经在“uhg路径”下去了:-)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐