解决方案 »
- 调用AnimateWindow方法,是不是属于调用Windows API?
- 请教:SendKeys.Send 为什么会随机发送几次?
- 我要将XML作为数据库使用,我如何判断插入是否成功?
- 求一个PluginInstaller.msi下载地址!
- 我通过继承Button类进行改写组件,组件中的代码如下,为什么生成的新的Button不正常
- 关于SqlDataAdapter.fill一个比较难的问题
- 100分急求水晶报表的错误分析:“已在多处定义“CrystalDecisions.Web.CrystalReportViewer”;使用“c:\WINNT\assembly\GAC\CrystalDeci
- 关于拖动无边框窗体
- 在线求助
- 请问如果要装 VS.net 的话,用 Windows2000 作平台好,还是用WINDOWS xp好??(有内容,多多提建议)
- c#开发 Excel转PDF编程中ExportAsFixedFormat问题解决案
- 我的这个添加验证用户名是否存在的时候报错了,求帮忙
文件不是箱子,不存在一个"盖子"
所谓打开,是某个程序对文件进行了OPEN操作,那么此时文件被程序占用
如果程序执行了close,或者程序退出了,那么文件自然也就"关闭"了
所以你需要找到"打开"文件的进程,杀死它
/// <summary>
/// 启动exe,并设置获取输入、输出信息
/// </summary>
/// <param name="path"></param>
/// <param name="isShowWindow"></param>
/// <param name="exitedMathod">运行程序退出时要执行的方法</param>
/// <returns></returns>
public static Process StartEXE(string path, bool isShowWindow, EventHandler exitedMathod = null)
{
Process p = new Process(); p.StartInfo.FileName = path;
p.StartInfo.UseShellExecute = true;
p.StartInfo.RedirectStandardError = false;
p.StartInfo.RedirectStandardInput = false;
p.StartInfo.RedirectStandardOutput = false;
//是否显示程序窗口
p.StartInfo.CreateNoWindow = !isShowWindow;
//设置程序运行完毕时的事件
p.EnableRaisingEvents = true;
p.Exited += exitedMathod;
//开始打开exe或该文件关联程序
p.Start();
//p.StandardInput.AutoFlush = true; return p;
}
使用这个方法打开文件,想关闭的时候关闭返回的进程即可。。
经验证,此为正解,结贴给分。不过, 需要注意的是: 关闭进程是 Kill(), 而不是Close()拜谢! 好人,一生平安!!!
经验证,此为正解,结贴给分。不过, 需要注意的是: 关闭进程是 Kill(), 而不是Close()拜谢! 好人,一生平安!!!
互相学习