반응형
* VBNET 사용자가 선택한 프로세스 죽이기 예제...
- WMI 를 사용하기 위해 참조 -> System.Management dll 을 추가 -> 소스 코드 Imports System.Management
(WMI 는 현재 실행중인 프로세스 조회를 하기 위해)
- 사용된 컨트롤: Button 2개, 리스트뷰 1개
전체 소스 코드
Form1.vb
Imports System.Management
Public Class Form1
Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
'Search
Dim strQry As String = "Select Name, ProcessID, ExecutablePath, WorkingSetSize From Win32_Process"
Dim iCount As Integer = 1
'리스트뷰 아이템 초기화
listView1.Items.Clear()
Dim oWMI As ManagementObjectSearcher = New ManagementObjectSearcher(New SelectQuery(strQry))
For Each oItem As ManagementObject In oWMI.Get()
Try
Dim lvi As ListViewItem = New ListViewItem()
lvi.Text = iCount.ToString()
lvi.SubItems.Add(oItem.GetPropertyValue("Name").ToString())
listView1.Items.Add(lvi)
iCount += 1
Catch ex As Exception
End Try
Next
End Sub
Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button2.Click
'Kill
Dim lvi As ListViewItem = listView1.FocusedItem
'해당 프로세스 이름 가져 오기 (***.exe -> *** 로)
Dim strTmp() As String = lvi.SubItems(1).Text.Split("."c)
Dim pcProcess() As System.Diagnostics.Process = System.Diagnostics.Process.GetProcessesByName(strTmp(0))
If pcProcess.Length > 0 Then
pcProcess(0).Kill()
MessageBox.Show("선택된 해당 프로세스를 종료 하였습니다.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
'New Search...
button1_Click(Nothing, Nothing)
Else
MessageBox.Show("선택된 해당 프로세스는 실행 되지 않았습니다.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
End Sub
End Class
*예제 결과
https://kdsoft-zeros.tistory.com/133
https://kdsoft-zeros.tistory.com/187
반응형
'VB.NET Programming' 카테고리의 다른 글
[VBNET] [API] mciSendString - WAV 파일 재생 (0) | 2020.04.21 |
---|---|
[VBNET] SendKeys - 화면 캡쳐 (Screen Capture) (0) | 2020.04.16 |
[VBNET] 화면 캡쳐 (Screen Capture) (0) | 2020.04.10 |
[VBNET] [Control] WebBrowser 컨트롤 - 외부 IP 알아내기 (0) | 2020.04.08 |
[VBNET] [WMI] USB Detect 예제 (0) | 2020.04.06 |