提交当前本机整理版本
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
/******************************
|
||||
* 说明:启动进程、关闭进程操作
|
||||
* 创建人:龚宇超
|
||||
* 创建日期:2018-02-09
|
||||
* 修改人:
|
||||
* 修改日期:
|
||||
* 修改备注:
|
||||
* 版本:1.0.0.0
|
||||
/******************************
|
||||
* 说明:启动进程、关闭进程操作
|
||||
* 创建人:龚宇超
|
||||
* 创建日期:2018-02-09
|
||||
* 修改人:
|
||||
* 修改日期:
|
||||
* 修改备注:
|
||||
* 版本:1.0.0.0
|
||||
******************************/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -16,18 +16,18 @@ using System.Diagnostics;
|
||||
namespace Lskj.AutoUpdate
|
||||
{
|
||||
/// <summary>
|
||||
/// 启动进程、关闭进程操作
|
||||
/// 启动进程、关闭进程操作
|
||||
/// </summary>
|
||||
public class ProcessManager
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>说明:初始化更新,关闭现有软件</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// <para>说明:初始化更新,关闭现有软件</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
public void InitUpdateEnvironment()
|
||||
{
|
||||
@@ -42,13 +42,13 @@ namespace Lskj.AutoUpdate
|
||||
CloseExe(ConstModel.Ls_Notice);
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:启动主程序</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// <para>说明:启动主程序</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
public void StartProcess(bool isMes = false)
|
||||
{
|
||||
@@ -70,13 +70,13 @@ namespace Lskj.AutoUpdate
|
||||
CloseExe(ConstModel.LS_UPDATE_NAME);
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:启动更新程序</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// <para>说明:启动更新程序</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
public void StartUpdateProcess(bool isMes = false)
|
||||
{
|
||||
@@ -99,13 +99,13 @@ namespace Lskj.AutoUpdate
|
||||
CloseExe(ConstModel.Ls_Notice);
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:启动exe绝对路径</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// <para>说明:启动exe绝对路径</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="filePath">The file path.</param>
|
||||
/// <param name="fileName">Name of the file.</param
|
||||
@@ -113,8 +113,8 @@ namespace Lskj.AutoUpdate
|
||||
private void StartExe(string filePath, string fileName, string args = "")
|
||||
{
|
||||
Process proc = new Process();
|
||||
proc.StartInfo.UseShellExecute = true;//是否使用操作系统外壳程序启动进程
|
||||
proc.StartInfo.WorkingDirectory = filePath;//启动进程的初始目录
|
||||
proc.StartInfo.UseShellExecute = true;//是否使用操作系统外壳程序启动进程
|
||||
proc.StartInfo.WorkingDirectory = filePath;//启动进程的初始目录
|
||||
proc.StartInfo.FileName = fileName;
|
||||
if (!string.IsNullOrEmpty(args))
|
||||
{
|
||||
@@ -123,29 +123,79 @@ namespace Lskj.AutoUpdate
|
||||
proc.Start();
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:关闭的exe进程名</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// <para>说明:关闭的exe进程名</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="exeName">Name of the executable.</param>
|
||||
public void CloseExe(string exeName)
|
||||
{
|
||||
Process[] arrPro = Process.GetProcessesByName(exeName);
|
||||
int currentProcessId = Process.GetCurrentProcess().Id;
|
||||
foreach (Process pro in arrPro)
|
||||
pro.Kill();
|
||||
{
|
||||
try
|
||||
{
|
||||
if (pro.Id == currentProcessId)
|
||||
{
|
||||
Environment.Exit(0);
|
||||
}
|
||||
|
||||
if (!pro.HasExited)
|
||||
{
|
||||
pro.Kill();
|
||||
pro.WaitForExit(10000);
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
// 关闭失败时继续处理其他进程,后续文件替换阶段会再次检测文件占用。
|
||||
}
|
||||
finally
|
||||
{
|
||||
try
|
||||
{
|
||||
pro.Dispose();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Process[] arrPro = Process.GetProcessesByName(exeName);
|
||||
//foreach (Process pro in arrPro)
|
||||
//{
|
||||
// try
|
||||
// {
|
||||
// if (!pro.HasExited)
|
||||
// pro.Kill();
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// // Kill 失败不抛异常,记录日志,更新继续
|
||||
// //LogHelper.Instance.WriteError("关闭进程 " + exeName + " 失败: " + ex.Message);
|
||||
// }
|
||||
// finally
|
||||
// {
|
||||
// try { pro.Dispose(); }
|
||||
// catch { }
|
||||
// }
|
||||
//}
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:是否存在进程名</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// <para>说明:是否存在进程名</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-02-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="processName">Name of the process.</param>
|
||||
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
|
||||
|
||||
Reference in New Issue
Block a user