文件被另一个进程使用。 如何知道哪个进程?

我一直在我的程序中得到这个exception。 我怎么知道哪个进程locking它,无论是由程序代码或通过做一些与Windows的东西?

System.IO.IOException : The process cannot access the file 'file.ext' because it is being used by another process.

您可以使用ProcessExplorer搜索文件:

只要运行它(也许你需要用管理员权限启动它), Ctrl-F键入被锁定的文件的名字 – 它会找到所有打开的与给定名称匹配的句柄,并告诉你它属于哪个进程至。

您可以使用像ProcessMon这样的工具来查看哪个进程正在锁定文件。

看看这个: http : //www.emptyloop.com/unlocker/

我一直使用它,告诉你哪一个进程已经锁定它,并给你充分的解锁机会。 特别适用于调试图像操作应用程序的时候,并且在没有正确关闭文件的情况下弹出。

希望这可以帮助!

肖恩