[C#] 檢測檔案被什麼程式占住並關閉占住的程式
查詢被什麼程式占住需要使用軟體的工具 Handle.exe按此下載 Handle v5.0
這個例子假設 Handle.exe 放在同一個目錄下
可以嘗試開啟 pdf/doc/jpg/bmp 等檔案再檢測就可以看到效果// 要檢測的檔案
string TestFile = @"c:\testfile.pdf";
Process pTool = new Process();
pTool.StartInfo.FileName = "handle.exe";
pTool.StartInfo.Arguments = TestFile + " /accepteula";
pTool.StartInfo.UseShellExecute = false;
pTool.StartInfo.RedirectStandardOutput = true;
pTool.Start();
pTool.WaitForExit();
string outputTool = pTool.StandardOutput.ReadToEnd();
// 使用正則表示篩選出占住程式的 PID
string matchPattern = @"(?<=\s+pid:\s+)\b(\d+)\b(?=\s+)";
foreach(Match match in Regex.Matches(outputTool, matchPattern))
{
Process.GetProcessById(int.Parse(match.Value)).Kill();
}
頁:
[1]