admin管理员组

文章数量:1516870

后台清理程序

应用介绍

通过桌面程序窗口的加载,获取后台进程添加到LookupEdit中,通过两种方式选择后台进程进行清理(停用进程)。第一种:下拉框选择,第二种:输入关键字,通过关键字搜索后台进程。

效果图

打开窗口

运行效果

源代码

publicpartialclassForm1:Form{private Process[] processes;privatebool CheckValue=false;publicForm1(){InitializeComponent();}privatevoidForm1_Load(object sender,EventArgs e){LoadProcess();}/// <summary>/// 初始加载正在运行的进程,并将进程名绑定到下拉列表/// </summary>privatevoidLoadProcess(){
            processes = Process.GetProcesses();DataTable dt =newDataTable();
            dt.Columns.Add("进程名",typeof(string));
            dt.Rows.Add("空");
            List<string> p =newList<string>();foreach(var process in processes){string fileName = process.ToString().Split(newstring[]{"(",")"}, StringSplitOptions.RemoveEmptyEntries)[1];
                dt.Rows.Add(fileName);}//显示值
            lookUpEdit1.Properties.DisplayMember ="进程名";//取值的成员名称(或字段名)
            lookUpEdit1.Properties.ValueMember ="进程名";
            lookUpEdit1.Properties.DataSource = dt;////默认显示第一项//lookUpEdit1.ItemIndex = 0;//提示
            lookUpEdit1.Properties.NullText ="请选择进程(运行程序)";}privatevoidKillProcess(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();}privatevoidsimpleButton1_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());}elseif(!string.IsNullOrEmpty(textEdit1.Text)){if(lookUpEdit1.ItemIndex >0){
                    XtraMessageBox.Show("只能选择一种方式!","警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);return;}KillProcess(textEdit1.Text);}}}

最后,大家有什么意见或者建议都可以在评论留言。

本文标签: 程序进程名只能选择