C#关于进程与线程(二)

一、创建进程信息查看程序

     作为Windows操作系统中重要的组成部分,进程中包含了大量的信息。在任务管理器中就可以查看这些信息。在Process类中提供了一个静态方法GetProcesses,该方法可以获得当前运行的所有进程。该方法的返回值是一个集合,通过对该集合的遍历即可获得所有的进程。

using System.Diagnostics;

class Program

{

      static void Main(string[ ] args)

      {

           //声明一个进程数组,用于保存所有的进程

           Process[ ]  ps;

           //获取当前系统正在运行的全部进程

           ps=Process.GetProcesses();

           try

            {

                 //输出进程信息

                 Console.WriteLine("进程信息输出:");

                 foreach(Process p in ps)

                 {

                      Console.WriteLine(p.ProcessName);

                 }

            }

           catch(Exception e)

           {

               Console.WriteLine("输出失败!");

               Console.WriteLine(e.Message);

           }

           finally

           {

               ps=null;

           }

      }

}


二、创建进程管理程序

     本节的目的是仿照Windows操作系统的任务管理器创建一个简单的进程管理程序。程序中将包含简单的进程管理功能。这其中除了简单的信息显示(如进程名称、进程ID、优先级和占用内存等)外,还提供一个用于结束进程的按钮。

using System.Diagnostics;

public partial class Form1:Form

{

      public Form1()

      {

           InitializeComponent();

      }

      ///<summary>

      ///窗体加载时在ListView中显示所有进程

      ///</summary>

      private void Form1_Load(object sender,EventArgs e)

      {

          ProcessLoad();

      }


      ///<summary>

      ///获得所有进程

      ///</summary>

      private void ProcessLoad()

      {

          //声明一个进程数组,用于保存所有的进程

          Process[ ]  ps;

          //获取当前系统正在运行的全部进程

          ps=Process.GetProcesses();

          listView1.Items.Clear();

          try

           {

                //使用foreach循环获得所有的进程

                foreach(Process p in ps)

                {

                     //向ListView中添加进程的信息

                     ListViewItem  lvi=new ListViewItem();

                     lvi.Text=p.ProcessName;

                     lvi.SubItems.Add(p.Id.ToString());

                     lvi.SubItems.Add(p.BasePriority.ToString());

                     lvi.SubItems.Add(p.WorkingSet64.ToString());

                     listView1.Items.Add(lvi);

                }

           }

           catch(Exception ex)

           {

               MessageBox.Show(ex.Message);

           }

           finally

           {

               ps=null;

           }

      }


    ///<summary>

    ///结束进程

    ///</summary>

    private void button1_Click(object sender,EventArgs e)

    {

         //首先判断是否已经选中某个进程

         if(listView1.SelectedItems.Count >=1)

         {

             //根据进程的ID查找该进程

             Process p=Process.GetProcessById(Convert.ToInt32(listView1.SelectedItems[0].SubItems[1].Text));

             //为了防止用户误操作,提示用户

             if(MessageBox.Show("确定要结束进程吗?","结束进程",MessageBoxButtons.OKCancel,MessageBoxIcon.Question,MessageBoxDefaultButton.Button2)==DialogResult.OK)

               {

                      if(p!=null)

                       {

                           //结束进程

                           p.Kill();

                       }

               }

         }

    }


      ///<summary>

      ///刷新

      ///</summary>

      private void button2_Click(object sender,EventArgs e)

       {

            ProcessLoad();

       }

}

校园失物招领微信小程序源码, 失物招领小程序主要为解决大学生时常丢失物品而且很难找回以及归还过程繁琐不方便的问题, 传统的失物招领方式不同,该款校园失误招领小程序拥有快捷发布寻物启事和失误找领功能, 快速查找、极速归还、高效沟通、防误领冒领等功能, 在开发校园失物招领小程序前用户访谈发现有近40的同学校园内频繁丢失物品、证件、校园卡等, 数码产品、日用品等,丢失区域主要发生在教学楼、图书馆和食堂。 拾领校园失物招领小程序继承了寻物启事和失物招领,丢失物品或拾取物品都可发布帖子, 首页的横幅滚动公告展示通知公告等,banner图片化的方式更具有视觉吸引力, 最新信息可显示最近发布的招领信息或寻物信息,更加方便快捷的展示信息, 用户可通过首页的发布按钮发布帖子,发布者只需填写物品的相关信息,类别、地点等相关信息, 并且可以填写手机号开启认领验证,并可以一键生成维码分享或分享至群聊和朋友圈。 列表内可以筛选物品类别或精确搜索,物品详情里可展示物品的相关信息, 确认是自己的物品后可点击认领,然后验证信息,需填写物品的关键信息以作辨认, 防止冒领误领,物品详情页可生成维码海报分享,还有即时的消息联系功能以提高沟通效率, 发布者还可选择放置在代收处,双方还可以通过拨打电话紧急联系,用于紧急情况,让失物找到主人, 个人中心可以管理发布的物品帖子,管理个人信息,包括昵称、默认学校、手机号的修改、 编辑发布的物品帖子、获取帮助等。帮助用户流畅的使用该小程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值