반응형
* C# 사용자가 선택한 프로세스 죽이기 예제...
- WMI 를 사용하기 위해 참조 -> System.Management dll 을 추가 -> 소스 코드 using System.Management
(WMI 는 현재 실행중인 프로세스 조회를 하기 위해)
- 사용된 컨트롤: Button 2개, 리스트뷰 1개
전체 소스 코드
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Management;
namespace CSharp_KillProccesor
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//현재 실행 중인 프로세스 조회...
string strWMIQry4 = "Select Name, ProcessID, ExecutablePath, WorkingSetSize From Win32_Process";
int iCount = 1;
listView1.Items.Clear();
ManagementObjectSearcher oWMI = new ManagementObjectSearcher(new SelectQuery(strWMIQry4));
foreach (ManagementObject oItem in oWMI.Get())
{
try
{
ListViewItem lvi = new ListViewItem();
lvi.Text = iCount.ToString();
lvi.SubItems.Add(oItem.GetPropertyValue("Name").ToString());
listView1.Items.Add(lvi);
iCount++;
}
catch (Exception)
{
}
}
}
private void button2_Click(object sender, EventArgs e)
{
ListViewItem lvi = listView1.FocusedItem;
//해당 프로세스 이름 가져 오기 (***.exe -> *** 로)
string[] strTmp = lvi.SubItems[1].Text.Split('.');
System.Diagnostics.Process[] pcProcess = System.Diagnostics.Process.GetProcessesByName(strTmp[0]);
if (pcProcess.Length > 0)
{
pcProcess[0].Kill();
MessageBox.Show("선택된 해당 프로세스를 종료 하였습니다.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
//New Search...
button1_Click(null, null);
}
else
{
MessageBox.Show("선택된 해당 프로세스는 실행 되지 않았습니다.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Error );
}
}
}
}
*예제 결과
https://kdsoft-zeros.tistory.com/132
https://kdsoft-zeros.tistory.com/188
반응형
'C# Programming' 카테고리의 다른 글
[C#] [API] mciSendString - WAV 파일 재생 (0) | 2020.04.20 |
---|---|
[C#] Sendkeys - 화면 캡쳐 (Screen Capture) (0) | 2020.04.15 |
[C#] 화면 캡쳐 (Screen Capture) (0) | 2020.04.09 |
[C#] [Control] WebBrowser 컨트롤 - 외부 IP 알아내기 (0) | 2020.04.07 |
[C#] [WMI] USB Detect 예제 (0) | 2020.04.03 |