后台清理程序
应用介绍
通过桌面程序窗口的加载,获取后台进程添加到LookupEdit中,通过两种方式选择后台进程进行清理(停用进程)。第一种:下拉框选择,第二种:输入关键字,通过关键字搜索后台进程。
效果图
打开窗口
打开后就会加载后台进程
运行效果
源代码
public partial class Form1 : Form
{
private Process[] processes;
private bool CheckValue=false;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
LoadProcess();
}
/// <summary>
/// 初始加载正在运行的进程,并将进程名绑定到下拉列表
/// </summary>
private void LoadProcess()
{
processes = Process.GetProcesses();
DataTable dt = new DataTable();
dt.Columns.Add("进程名", typeof(string));
dt.Rows.Add("空");
List<string> p = new List<string>();
foreach (var process in processes)
{
string fileName = process.ToString()
.Split(new string[] { "(", ")" }, StringSplitOptions.RemoveEmptyEntries)[1];
dt.Rows.Add(fileName);
}
//显示值
lookUpEdit1.Properties.DisplayMember = "进程名";
//取值的成员名称(或字段名)
lookUpEdit1.Properties.ValueMember = "进程名";
lookUpEdit1.Properties.DataSource = dt;
默认显示第一项
//lookUpEdit1.ItemIndex = 0;
//提示
lookUpEdit1.Properties.NullText = "请选择进程(运行程序)";
}
private void KillProcess(string fileName)
{
bool log=false;
foreach (Process pro in processes)
{
if (pro.ProcessName.Contains(fileName))
{
log = true;
try
{
DialogResult result = XtraMessageBox.Show($"确认退出程序:{pro.ProcessName}?", "询问",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
if (result != DialogResult.Yes) return;
pro.Kill();
}
catch (Exception)
{
XtraMessageBox.Show("未能清理!");
return;
}
}
}
if (log)
XtraMessageBox.Show("完成");
else
XtraMessageBox.Show($"未找到进程:{fileName}");
LoadProcess();
}
private void simpleButton1_Click_1(object sender, EventArgs e)
{
processes = Process.GetProcesses();
if (lookUpEdit1.ItemIndex>0)
{
if (!string.IsNullOrEmpty(textEdit1.Text))
{
XtraMessageBox.Show("只能选择一种方式!","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning);
return;
}
KillProcess(lookUpEdit1.EditValue.ToString());
}
else if (!string.IsNullOrEmpty(textEdit1.Text))
{
if (lookUpEdit1.ItemIndex > 0)
{
XtraMessageBox.Show("只能选择一种方式!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
KillProcess(textEdit1.Text);
}
}
}
最后,大家有什么意见或者建议都可以在评论留言。