使用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));
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM