我的程序一直报这个异常。怎样才能知道是哪个进程锁定了它,是通过程序代码还是通过在 Windows 上进行某些操作?
System.IO.IOException : 由于另一个进程正在使用文件“file.ext”,因此无法访问该文件。
我的程序一直报这个异常。怎样才能知道是哪个进程锁定了它,是通过程序代码还是通过在 Windows 上进行某些操作?
System.IO.IOException : 由于另一个进程正在使用文件“file.ext”,因此无法访问该文件。
你可以使用ProcessExplorer搜索该文件:
只需运行它(也许需要以管理员权限启动),按下Ctrl-F
,输入被锁定的文件名,它将找到所有匹配给定名称的打开句柄,并告诉你它属于哪个进程。
ProcessMon
这样的工具来查看哪个进程锁定了文件。看看这个:http://www.emptyloop.com/unlocker/
我经常使用它,它会告诉你哪个进程锁定了它,并给你解锁的机会。特别有用的是当你调试图像处理应用程序时,它会在没有正确关闭文件的情况下崩溃。
希望这可以帮到你!
肖恩