C#源码 批量结束进程 让系统加速 参数配置保存

批量结束进程 让系统加速

运行环境:Win10,其它版本的windows系统需安装.net framework 4.0

1.双击当前进程,会加入到要结束的进程列表里


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;

namespace KillProcess
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

 
        /// <summary>
        /// 关闭进程名含某某的进程 数组
        /// </summary>
        /// <param name="processName">进程名数组</param>
        private static void KillProcess(string[] processName)
        {

            Process[] myproc = Process.GetProcesses();
            foreach (Process item in myproc)
            {
                foreach (string pn in processName)
                {
                    if (pn.Length < 1)
                    {
                        break;
                    }
                    if (item.ProcessName.Contains(pn))
                    {
                        item.Kill();
                    }
                }
            }
        }
        /// <summary>
        /// 关闭进程名含某某的进程
        /// </summary>
        /// <param name="processName">进程名</param>
        private static void KillProcess(string processName)
        {
            Process[] myproc = Process.GetProcesses();
            foreach (Process item in myproc)
            {
                if (item.ProcessName.Contains(processName))
                {
                    item.Kill();
                }
            }
        }


        //强制关闭最近打开的某个进程

        private static void KillRecentProcess(string processName)
        {
            System.Diagnostics.Process[] Proc = System.Diagnostics.Process.GetProcessesByName(processName);
            System.DateTime startTime = new DateTime();
            int m, killId = 0;
            for (m = 0; m < Proc.Length; m++)
            {
                if (startTime < Proc[m].StartTime)
                {
                    startTime = Proc[m].StartTime;
                    killId = m;
                }
            }
            if (Proc[killId].HasExited == false)
            {
                Proc[killId].Kill();
            }

        }
        private void DisplayProcess()
        {
            listBox1.Items.Clear();
            Process[] myproc = Process.GetProcesses();
            foreach (Process item in myproc)
            {
                listBox1.Items.Add(item.ProcessName);
            }
            listBox1.Sorted = true;
            label1.Text = "当前系统进程:" + listBox1.Items.Count;
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            DisplayProcess();

            KillProcess(Settings1.Default.kill.Split(','));
            textBox1.Text = Settings1.Default.kill;
        }
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
             Settings1.Default.kill=textBox1.Text;
             Settings1.Default.Save();
        }

        private void listBox1_DoubleClick(object sender, EventArgs e)
        {
            string str = ((ListBox)sender).SelectedItem.ToString();
            ((ListBox)sender).Items.Remove(((ListBox)sender).SelectedItem);
            label1.Text = "当前系统进程:" + listBox1.Items.Count;
            KillProcess(str);
            //DisplayProcess();
            if (textBox1.Text == "")
            {
                textBox1.Text = str;
            }
            else
            {
                textBox1.Text += "," + str;
            }
           
        }

        private void label1_Click(object sender, EventArgs e)
        {
            DisplayProcess();
        }
    }
}


猜你喜欢

转载自blog.csdn.net/chenhao0568/article/details/78109748
今日推荐