zoukankan      html  css  js  c++  java
  • c# winform来显示进程和杀死进程

    主要form代码如下:

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

    namespace ProcessInfo
    {
        public partial class FrmProcessInfo : Form
        {
            public FrmProcessInfo()
            {
                InitializeComponent();
                this.timer1.Enabled = true;
                this.timer1.Interval = 100;
            }

            //全局进程数组
            Process[] processes;

            //dataGridView的数据源
            DataTable dt = new DataTable();

            //加载进程信息
            private void button1_Click(object sender, EventArgs e)
            {

                //给datatable添加3个列
                dt.Columns.Add("ID", typeof(Int32));
                dt.Columns.Add("进程名", typeof(String));
                dt.Columns.Add("进程分配内存", typeof(String));
               
                //获得所有进程
                processes = System.Diagnostics.Process.GetProcesses();
                foreach (Process p in processes)
                {
                    DataRow dr = dt.NewRow();
                    dr[0] = p.Id;
                    dr[1] = p.ProcessName;
                    dr[2] = p.PrivateMemorySize64/1024+" KB";
                   
                    dt.Rows.Add(dr);
                }

                //绑定进程信息到dataGridView
                this.dataGridView1.DataSource = dt;
                this.textBox1.Text="共有"+processes.Length+"个进程!!";

            }

            private void timer1_Tick(object sender, EventArgs e)
            {
                this.dataGridView1.Refresh();
            }

            private void button2_Click(object sender, EventArgs e)
            {
                // MessageBox.Show(this.dataGridView1.CurrentRow.Cells[0].Value.ToString());
                foreach (Process p in processes)
                {
                    if (p.Id == Convert.ToInt32(this.dataGridView1.CurrentRow.Cells[0].Value))
                    {
                        p.Kill();
                        MessageBox.Show("杀死" + p.ProcessName + "成功");
                        break;
                    }
                }
                processes = System.Diagnostics.Process.GetProcesses();
                dt.Clear();
                this.dataGridView1.DataSource = dt;
                foreach (Process p in processes)
                {
                    DataRow dr = dt.NewRow();
                    dr[0] = p.Id;
                    dr[1] = p.ProcessName + ".exe";
                    dr[2] = p.PrivateMemorySize64 / 1024 + " KB";
                    dt.Rows.Add(dr);
                }
                this.dataGridView1.DataSource = dt;
                this.textBox1.Text = "共有" + processes.Length + "个进程!!";
            }
        }
    }

  • 相关阅读:
    Git ---游离状态下的commit 分支切换与找回,commit之后无法找到历史记录
    mybatis异常invalid comparison: java.util.Date and java.lang.String
    Spring的注解@Qualifier
    Spring @Bean注解的使用
    Java的IO系统
    linkin大话面向对象--GC和jar包
    linkin大话面向对象--闭包和回调
    linkin大话面向对象--内部类
    linkin大话面向对象--枚举
    linkin大话面向对象--接口
  • 原文地址:https://www.cnblogs.com/qfb620/p/1587587.html
Copyright © 2011-2022 走看看