在C#中如何开启或关闭一个进程。
以前关闭进程的方式,通常采用bat文件的方式。现在通过采用另外一种方式关闭进程。 关闭进程主要思路:遍历所有进程,根据进程名称,找出需要关闭的进程。 开启进程主要思路:通过递归的方式找出文件夹中所有的exe文件,并且开启。 其主要代码如下:
[C#] 纯文本查看 复制代码 #region 方法
/// <summary>
/// 关闭应用程序
/// </summary>
/// <param name="ArrayProcessName">应用程序名之间用‘,’分开</param>
private void CloseApp(string ArrayProcessName)
{
string[] processName = ArrayProcessName.Split(',');
foreach (string appName in processName)
{
Process[] localByNameApp = Process.GetProcessesByName(appName);//获取程序名的所有进程
if (localByNameApp.Length > 0)
{
foreach (var app in localByNameApp)
{
if (!app.HasExited)
{
app.Kill();//关闭进程
}
}
}
}
}
/// <summary>
/// 开启进程
/// </summary>
/// <param name="ArrayFolderPath">需要开启进程文件夹的路径,多个路径用‘,’隔开;eg:d:\test,e:\temp</param>
private void StartApp(string ArrayFolderPath)
{
string[] foldersNamePath = ArrayFolderPath.Split(',');
foreach (string folderNamePath in foldersNamePath)
{
GetFolderApp(folderNamePath);
}
}
/// <summary>
/// 递归遍历文件夹内所有的exe文件,此方法可以进一步扩展为其它的后缀文件
/// </summary>
/// <param name="folderNamePath">文件夹路径</param>
private void GetFolderApp(string folderNamePath)
{
string[] foldersPath = Directory.GetDirectories(folderNamePath);
foreach (string folderPath in foldersPath)
{
GetFolderApp(folderPath);
}
string[] filesPath = Directory.GetFiles(folderNamePath);
foreach (string filePath in filesPath)
{
FileInfo fileInfo = new FileInfo(filePath);
//开启后缀为exe的文件
if (fileInfo.Extension.Equals(".exe"))
{
Process.Start(filePath);
}
}
}
#endregion
winform的界面如下:
转载网友
|