在我的应用程序中,我需要删除文件,然后删除包含这些文件的目录。如果没有打开任何文件,它会很好用。
但如果有任何文件打开(即 index.txt
),它会成功地从目录中删除,并且在删除目录时会抛出异常,如 file is used by other应用程序
。
有什么方法可以使用 p/invoke 或其他任何方式在 C# 中关闭打开的文件吗?
最佳答案
删除当前由其他应用程序打开的文件的唯一方法是让这些应用程序释放文件上的锁(通常通过关闭文件)或终止应用程序本身。
显然,强制外部应用程序终止以删除该应用程序当前保持打开的文件通常会导致灾难!
关于c# - 如果通过窗口资源管理器打开,则关闭文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28225357/