我正在用C#编写一个需要重复访问1个图像文件的程序.大部分时间它都可以工作,但如果我的计算机运行速度很快,它会在将文件保存回文件系统之前尝试访问该文件并抛出错误:"另一个进程正在使用的文件".
我想找到解决这个问题的方法,但是我所有的谷歌搜索都只是通过使用异常处理来创建检查.这违背了我的宗教信仰,所以我想知道是否有人有更好的方法呢?
有没有办法检查文件是否被锁定而不使用try/catch块?
现在,我所知道的唯一方法就是打开文件并抓住任何文件System.IO.IOException.
我已经看到了几个关于使用Handle或Process Monitor的答案,但我希望能够在我自己的代码(C#)中找到哪个进程正在锁定文件.
我有一种令人讨厌的感觉,我将不得不在win32 API中徘徊,但如果有人已经这样做并且可以让我走上正轨,我真的很感激帮助.