메뉴 건너뛰기

Programing

C# 게시판

프로세스 관리자

관리자2 2019.01.02 16:26 조회 수 : 155

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Diagnostics;

 

namespace tssmart2

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void Form1_Load(object sender, EventArgs e)

        {

            ProcessView();   

        }

 

        private void timer1_Tick(object sender, EventArgs e)

        {

            ProcessView();

        }

        private void ProcessView()

        {

            this.listView1.Items.Clear();

            foreach (var proc in Process.GetProcesses())

            {

                var str = "";

                if (proc.Responding) { str = "실행"; }

                else { str = "중지"; }

                var strArray = new string[] { proc.ProcessName.ToString(), proc.Id.ToString(), str, proc.WorkingSet64.ToString() };

                var lvt = new ListViewItem(strArray);

                this.listView1.Items.Add(lvt);

            }

        }

 

        private void btnKill_Click(object sender, EventArgs e)

        {

            try

            {

                var PName = this.listView1.SelectedItems[0].SubItems[0].Text;

                Process[] tProcesses = Process.GetProcessesByName(PName);

                if (tProcesses.Length == 1)

                {

                    var dlr = MessageBox.Show(PName + "프로세스를 끝내시겠습니까?", "알림", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

                    if (dlr == DialogResult.Yes)

                    {

                        tProcesses[0].Kill();

                        ProcessView();

                    }

                }

                else

                {

                    MessageBox.Show(this.listView1.SelectedItems[0].SubItems[0].Text + "프로세스는 존재하지 않습니다", "알림", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    ProcessView();

                }

            }

            catch

            {

                return;

            }

        }

    }

}

프로세스 관리자 폼이 뜬다. 그곳에서 제어하면 된다.
위로