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应用程序关闭任务管理器中的进程的更多相关文章

  1. 【Hook技术】实现从"任务管理器"中保护进程不被关闭 + 附带源码 + 进程保护知识扩展

    [Hook技术]实现从"任务管理器"中保护进程不被关闭 + 附带源码 + 进程保护知识扩展 公司有个监控程序涉及到进程的保护问题,需要避免用户通过任务管理器结束掉监控进程,这里使用 ...

  2. WinForm程序关闭窗体后杀死进程

    调用this.Close();后监听Browser_FormClosed加作处理 this.FormClosed += new System.Windows.Forms.FormClosedEvent ...

  3. C++获取Windows7 32位系统中所有进程名(类似于任务管理器中的进程)

    代码是网上查找资料,然后自己调试,修改之后可以运行. 系统:win7 32位,VS2008 ------------------------------------------------------ ...

  4. windows上,任务管理器中,进程命令行太长怎么办

    一.前言 在windows上,有时候需要查看进程命令行,但是有的进程的命令行太长了,很难看全 此时,可以使用下面的方法解决(红框改为自己要查看的进程即可): C:\Users\Gaoyu>wmi ...

  5. Windows Server 2008 R2服务器内存使用率过高,但与任务管理器中进程占用内存和不一致

    系统环境: Windows Server 2008 R2 + Sql Server 2008 R2   问题描述: Windows Server 2008 R2系统内存占用率过大,而在任务管理器中各进 ...

  6. C# 杀掉系统中的进程

    杀掉系统进程之前首先要知道进程名称(说了句废话),这里要注意在任务管理器中的进程名称不一定是真实的名称.打个比方,我们开启一个"记事本",任务管理器中进程名称为"记事本& ...

  7. 【转】 VC++ 关闭程序后任务管理器进程中进程仍然存在的解决方法

    转载出处:http://blog.csdn.net/zac_sian/article/details/50809084 可以从以下两个方面进行查找! 1.程序开启了进程,进程中使用了while(1), ...

  8. win7或win2008系统中,出现【已停止工作,联机检查解决方案并关闭该程序,关闭程序】解决方法!

    win7或win2008系统中,出现[已停止工作,联机检查解决方案并关闭该程序,关闭程序]解决方法! 经过摸索,点击[控制面板]-[操作中心]-[更改操作中心设置]-[问题报告设置]-[从不检查解决方 ...

  9. 是什么在.NET程序关闭时阻碍进程的退出?

    在平时使用软件或是.NET程序开发的过程中,我们有时会遇到程序关闭后但进程却没有退出的情况,这往往预示着代码中有问题存在,不能正确的在程序退出时停止代码执行和销毁资源.这个现象有时并不容易被察觉,但在 ...

随机推荐

  1. 4个理由告诉你Java为何排行第一

    Java已经有20年的历史了,甚至更久,而这取决于你所询问的人和你的计算方式.忽略它的年龄不看,Java依然排行第一.它的实用性.性能和向后兼容性都彰显其价值所在.2016年伊始,标志着我们已经走过了 ...

  2. vacabulary1

    The hard hat is rigid,so nothing will hurt my head. glue 胶水vegetarian 素食者: 素食主义者:素食的 North Korea 朝鲜S ...

  3. C++学习3

    C++仍然在使用C语言的 char.int.long 等基本数据类型,它们在现代操作系统(Windows XP.Win7.Win10 等)中的长度如下表所示: longlong是C99新增的一种数据类 ...

  4. [ActionScript] AS3代码实现曝光过度效果

    package { import flash.display.Loader; import flash.display.SimpleButton; import flash.display.Sprit ...

  5. SQL Server2008 TIME类型

    SQL Server2008现在有了一个TIME数据类型,它允许你只存储一个时间值而没有时间.如果想要存储一个特定的时间信息而不涉及具体的日期时,这将非常的有用.TIME数据类型存储使用24小时制,它 ...

  6. excel数据通过构建sql语句导入到数据库中

    拿到一张excel数据表格,数据格式如下图所示: 2.根据excel数据结果,构建保存excel数据的表结构 CREATE TABLE #tmpExcel(IP VARCHAR(100),IPAddr ...

  7. IntelliJ IDEA调整控制台输出字体大小

    File->Settings->Editor->Colors & Fonts->Console Font Size: 16

  8. Arch-Linux-添加中文字体

    代码下载: Arch-Linux-添加中文字体.txt

  9. SQL Server设置主键自增长列

    1.新建一数据表,里面有字段id,将id设为为主键 create table tb(id int,constraint pkid primary key (id)) create table tb(i ...

  10. Asp.net下载文件

    网站上的文件是临时文件, 浏览器下载完成, 网站需要将其删除. 下面的写法, 文件读写后没关闭, 经常删除失败. /// <summary> /// 下载服务器文件,参数一物理文件路径(含 ...