c# winfrom应用程序关闭任务管理器中的进程

Posted Pavilion

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# winfrom应用程序关闭任务管理器中的进程相关的知识,希望对你有一定的参考价值。

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 ProcessKill
{
    public partial class Form1 : Form
    {
        public System.Threading.Thread myThread;
        public Form1()
        {
            InitializeComponent();
            myThread = new System.Threading.Thread(new System.Threading.ThreadStart(kill_Process));//初始化线程,执行关闭进程方法kill_Process();
            myThread.Start();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            GetGetProcesses();
        }
        /// <summary>
        /// 调用此方法可查看本机当前运行的所有进程
        /// </summary>
        private void GetGetProcesses()
        {
            listView1.Items.Clear();
            Process[] list = Process.GetProcesses(".");//获取本机当前运行的所有进程
            for (int i = 0; i < list.Length; i++)//循环添加进程信息
            {
                listView1.View = View.Details;//列的显示模式
                ListViewItem lvi = new ListViewItem(new string[] { list[i].ProcessName, list[i].Id.ToString(), list[i].PrivateMemorySize64.ToString() });
                listView1.Items.Add(lvi);
            }
        }
        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
 
        }
        /// <summary>
        /// 关闭进程
        /// </summary>
        void kill_Process()
        {
            var killlist = System.Configuration.ConfigurationManager.AppSettings["killname"].ToString().Split(\',\');//获取app.cong中设置的需要关闭的进程名称
            Process[] list = Process.GetProcesses(".");//获取本机当前运行的所有进程
            foreach (var item in killlist)//遍历查看进程是否存在
            {
                foreach (Process pr in list)
                {
                    if (item == pr.ProcessName)
                    {
                        pr.Kill();
                    }
                }
            }
            //Application.Exit();
            System.Environment.Exit(System.Environment.ExitCode);//关闭自身进程
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            kill_Process();
            GetGetProcesses();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
        }
    }
}

 

以上是关于c# winfrom应用程序关闭任务管理器中的进程的主要内容,如果未能解决你的问题,请参考以下文章

C# - 在任务管理器中打开应用程序作为第二个进程

如何在winXP中的任务管理器中隐藏程序?

C# 杀掉系统中的进程

任务管理器中一堆ie进程,如何关闭?

c# 获取某个进程的CPU使用百分百(类似任务管理器中显示CPU)

如何在 任务管理器中 查看某一个进程的cpu占用率?