【发布时间】:2015-12-16 05:12:58
【问题描述】:
我使用 winrar 在我的应用程序中提取 rar 文件。在那个提取物竞争之后,我需要 移动提取的文件,但有时会出现此错误: 该进程无法访问该文件,因为它正被另一个进程使用
我猜这个错误是关于 winrar 所以我杀死了 winrar 进程但错误存在
我使用 (Process.HasExited) 强制程序休眠 5 分钟我可以杀死进程但有以下问题: 但是该进程无法访问该文件,因为它正在被另一个进程使用 并使用代码杀死进程:
try
{
Process proc = Process.GetProcessById(id);
proc.Kill();
}
catch (Exception ex)
{
Process[] processlist = Process.GetProcesses();
foreach (Process p in Process.GetProcesses("."))
{
try
{
if (p.ProcessName.ToLower().Contains("winrar"))
{
string str = Bussiness.ClsCommandLine.GetCommandLine(p);
if (str.ToLower().Contains((fileName.ToLower()))
{
Process prc = Process.GetProcessById(p.Id);
prc.Kill();
}
}
}
catch (Exception ex1)
{
result = false;
}
}
}
有什么想法吗?
【问题讨论】:
标签: c# kill-process