使用C#如何查看哪些文件被哪些进程占用了

string fileName = @"C:\Target\Plugins\print\NLog.dll";
//要检查被那个进程占用的文件
Process tool = new Process();
tool.StartInfo.FileName = @"C:\soft\Handle\handle64.exe";
tool.StartInfo.Arguments = fileName + " /accepteula";
tool.StartInfo.UseShellExecute = false;
tool.StartInfo.RedirectStandardOutput = true;
tool.Start();
tool.WaitForExit();
string outputTool = tool.StandardOutput.ReadToEnd();
string matchPattern = @"(?<=\s+pid:\s+)\b(\d+)\b(?=\s+)";
foreach (Match match in Regex.Matches(outputTool, matchPattern))
{
    //Process.GetProcessById(int.Parse(match.Value)).Kill();
    var pro = Process.GetProcessById(int.Parse(match.Value));
}
posted @ 2018-10-29 16:32  中迁仙人  阅读(2060)  评论(0编辑  收藏  举报