需要使用微软提供的工具Handle.exe

            string fileName = @"H:\abc.dll";//要检查被那个进程占用的文件

            Process tool = new Process();
            tool.StartInfo.FileName = @"H:\软件\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();
            }

            Console.ReadKey();

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-15
  • 2021-06-15
  • 2021-10-08
  • 2021-12-21
  • 2021-11-04
猜你喜欢
  • 2022-01-29
  • 2021-06-04
  • 2021-12-27
相关资源
相似解决方案