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

  • 相关阅读:
    nginx解决跨域问题
    SSM整合相关试题
    SSM整合案例--用户登录
    非法用户登录拦截
    SpringMVC拦截器和数据校验
    SpringMVC文件上传
    SpringMVC异常处理
    SpringMVC方法的返回值类型和自动装配
    SpringMVC
    spring和mybatis整合
  • 原文地址:https://www.cnblogs.com/qfb620/p/1587587.html
Copyright © 2011-2022 走看看