• 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 + "个进程!!";
            }
        }
    }

  • 相关阅读:
    每日一练之动态算法
    001之IP基础对话框
    mysql的一些操作
    logcat 提示 Unable to open log device '/dev/log/main': No such file or directory
    之前接触过的测试的相关工具
    SAP内存、ABAP内存
    模块化程序—函数 function
    模块化程序-子例程
    模块化程序-宏
    传输请求的管理
  • 原文地址:https://www.cnblogs.com/qfb620/p/1587587.html
Copyright © 2020-2023  润新知