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

在没有FILE_SHARE_DELETE的情况下重命名在另一个进程中打开的文件

使用Windows API,可以重命名一个进程中没有FILE_SHARE_DELETE权限的文件吗?

我认为这是不可能的基于CreateFile文档说:

注意删除访问权限允许删除重命名操作。

与此相一致的是,通过在最终用户命令提示符中进行常规rename ,我经常遇到The process cannot access the file because it is being used by another process. ; 通过最终用户GUI和通过python的os.rename重命名os.rename发生类似的错误

如何在特殊的PowerShell链命令4命令提示符?

.NET FileInfo.LastWriteTime和FileInfo.LastAccesstime是错误

希腊增值税validation号码

采用Windows媒体基础的H.264编码

无法加载.Net程序集

然而, 这个高度回应的答案似乎恰恰相反:

如果任何其他进程打开文件而不删除共享,删除将失败,重命名从来不是一个问题。

这不仅仅是一个小点, 整个答案取决于这个陈述:它只解决OP问题,如果重命名不会失败,当删除

我错过了什么?

注意:如果有问题,我指的是使用C ++ API的Windows 10(我认为它比C#API更强大)。

编辑:移动代码片段到一个新的问题 。

如何删除俄语的本地化.NET Framework?

Split容器控件是否自动调整窗体的大小?

在我的WPF项目安装程序中,如何捆绑.NET3.5安装程序?

如果在.NET中validation文件的签名是否存储在系统的目录存储中?

一个永远在上面的表单贴到屏幕的一angular

它只能用作延迟操作,使用MOVEFILE_DELAY_UNTIL_REBOOT标志。 这是一个特权操作,需要用户上下文来启用管理员令牌( UAC )。 这是安装程序在使用中如何替换文件,然后要求操作员重新引导系统。

正如你所看到的,不是微不足道的,你应该尽量避免这样做。

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

相关推荐