关闭外部已经开启的程序

Posted on 2019-01-26 17:11  努力成长静待花开  阅读(332)  评论(0编辑  收藏  举报

实现效果:

  

知识运用:

  Process类中的GetProcessesByName    CloseMainWindow方法

  public bool CloseMainWindow()  //向进程的主窗口发送关闭消息来关闭拥有用户界面的进程  

                //成功发送了关闭消息返回True 反之 为False

实现代码:

        private void add()
        {
            listBox1.Items.Clear();
            foreach (Process p in Process.GetProcesses())
            {
                if(p.MainWindowTitle!="")
                listBox1.Items.Add(p.MainWindowTitle);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedItems.Count > 0) 
            {
                //根据指定的进程名创建进程资源数组
                Process[] prs = Process.GetProcessesByName(listBox1.SelectedItem.ToString());
                foreach (Process p in prs)                      //遍历数组
                    p.CloseMainWindow();                        //关闭拥有进程的界面
                add();                                          //调用刷新
            }
        }