如何解锁由.NET中的进程锁定的文件

时间:2008-10-28 10:59:32

标签: c# temporary-files file-locking

我希望我的应用程序清理它使用的所有临时文件,问题是并非所有临时文件都在我的控制之下,所以我只想“残酷地”解锁它们以便以编程方式删除它们。

4 个答案:

答案 0 :(得分:4)

查看this文章。我认为即使使用interop,你也很难在C#中本地执行此操作,但编写C ++ / CLI包装程序集可能是一个很好的折衷方案。另请注意,用户需要具有SE_DEBUG权限才能生效。

答案 1 :(得分:3)

我也一直在努力解决这个问题,最终只是向Unlocker的命令行实现了。在我的情况下,它必须每天运行多次,最终每天解锁数千个文件,没有任何问题。

答案 2 :(得分:2)

当然,您的应用程序想要清理它拥有的临时文件,然后您可以完全控制解锁这些文件并将其删除!

如果您要删除所有TEMP文件,无论是否由您的应用程序拥有,您应该非常小心。原始应用程序可能应用了锁,因为它想要使用该文件!

如果你真的需要,你可以总是生成一个命令行应用程序,而不是试图复制现有工具的功能,这在C#中很难。

答案 3 :(得分:0)

在MSDN论坛上查看此thread。有足够的信息可以做你想要的,但不推荐。