首页 > 代码库 > 使用c#检测文件正在被那个进程占用
使用c#检测文件正在被那个进程占用
要检测文件被那个进程占用,需要使用微软提供的工具Handle.exe,这里有微软提供的下载
我们可以在c#中调用Handle.exe 来检测到底哪个进程占用了文件
string fileName = @"c:\aaa.doc";//要检查被那个进程占用的文件Process tool = new Process();tool.StartInfo.FileName = "handle.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();}
简单而有效。
使用c#检测文件正在被那个进程占用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。