using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
// 关闭记事本的进程
CloseNotepad();
}
/// <summary>
/// 关闭记事本
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void CloseNotepad()
{
on:
string process = ProcessHelper.CheckProcessName("notepad");
if (process != string.Empty)
{
ProcessHelper.StopProcess(process);
System.Threading.Thread.Sleep(1000);
goto on;
}
}
}
public class ProcessHelper
{
/// <summary>
/// 关闭一个进程
/// </summary>
/// <param name="processName">进程名</param>
public static void StopProcess(string processName)
{
try
{
foreach (Process thisProc in Process.GetProcessesByName(processName))
{
//if (!thisProc.CloseMainWindow())
//{
thisProc.Kill();
//}
}
while (true)
{
if (!CheckProcessIsExit(processName))
{
return;
}
}
}
catch (Exception exc)
{
throw exc;
}
}
/// <summary>
/// 检查一个进程是否在运行中
/// </summary>
/// <param name="processName">进程名</param>
/// <returns></returns>
public static bool CheckProcessIsExit(string processName)
{
bool flag = false;
try
{
foreach (Process thisProc in Process.GetProcesses())
{
if (thisProc.ProcessName.Equals(processName))
{
flag = true;
break;
}
}
}
catch
{
flag = true;
}
return flag;
}
/// <summary>
/// 检查一个进程是否在运行中
/// </summary>
/// <param name="processName">进程名</param>
/// <returns></returns>
public static string CheckProcessName(string processName)
{
string flag = "";
try
{
foreach (Process thisProc in Process.GetProcesses())
{
if (thisProc.ProcessName.Equals(processName))
{
flag = thisProc.ProcessName;
break;
}
}
}
catch
{
flag = "";
}
return flag;
}
}
}