c# 코드로 [작업 관리자]에서 [작업 끝내기] 기능을 사용하면서 선택한 프로그램의 간단한 정보도 볼 수 있도록 만들어 보았습니다.
"PROCESS"에 작업을 끝낼 프로그램을 넣으시면 됩니다. |
"PROCESS".CloseMainWindow(); "PROCESS".Refresh(); "PROCESS".Kill(); |
자세한 설명을 보고 싶으신 분은 "더보기"를 클릭해서 봐주시길 바랍니다.
UI 부분
xaml |
<Grid> <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"> <TextBlock Text="작업관리자" HorizontalAlignment="Center" FontSize="15"/> <StackPanel Orientation="Horizontal" > <ComboBox Name="process_CB" Width="100" Margin="10" SelectionChanged="ComboBox_SelectionChanged" DropDownOpened="ComboBox_DropDownOpened"/> <Button x:Name="close_B" Content="작업 끝내기" VerticalAlignment="Center" Click="Button_Click"/> </StackPanel> <TextBox x:Name="info_TB" IsReadOnly="True" Height="130" AcceptsReturn="True"/> </StackPanel> </Grid> |
사용한 UI 이벤트는 다음과 같습니다.
ComboBox | ||
DropDownOpened | ComboBox를 클릭하여 목록이 펼쳐질 때 현재 실행 중인 프로그램들이 ComboBox의 Item이 됩니다. | |
SelectionChanged | ComboBox의 Item이 바뀔 때 새롭게 선택된 프로그램의 정보를 TextBox에 나타냅니다. | |
Button | ||
Click | 버튼을 클릭하게 되면 ComboBox에 선택된 프로그램의 작업을 끝냅니다. |
코드 부분
1. ComboBox에 현재 실행 중인 프로그램 추가하기
1) 변수로 프로세스 배열을 만들어줍니다.
2) 만든 변수에 Process.GetProcesses()를 사용하여 현재 사용 중인 모든 프로그램들을 담아줍니다.
3) ComboBox의 Item들을 삭제합니다.
ComboBox의 Item들을 삭제하지 않으면 ComboBox 안에 Item들이 계속하여 추가됩니다.
4) ComboBoxItem을 생성하여 ComboBox에 Item을 추가합니다.
① 숨겨진 프로세스, 즉 작업 표시줄에 표시되지 않는 프로세스의 경우 MainWindowHandle값이 0이 됩니다. 또한 이것은 알림 영역에서 아이콘으로 표시되는 프로세스일 수도 있습니다.
이번 프로젝트에서는 나타내지 않도록 설정했지만, 나타내셔도 무관합니다.
② Tag의 값은 index값을 넣어주고 Content의 값은 프로세스의 이름 생성합니다.
③ ComboBoxItem을 ComboBox에 추가합니다.
2. ComboBox를 누를 때(DropDown이 열릴 때)마다 GetAllProcessName() 사용하기
3. ComboBox의 Item이 선택되면 TextBox에 간단한 정보가 표현하기
1) 선택된 Item을 담은 ComboBoxItem을 생성합니다.
2) Item이 있다면 TextBox에 정보를 표현합니다. 표현하기 전 Clear()를 사용하여 TextBox에 있는 문자열들을 삭제합니다.
4. [작업 끝내기] Button을 클릭하면 프로그램 작업 끝내도록 설정하기
1) 선택된 Item을 담은 ComboBoxItem을 생성합니다.
2) Item이 있다면 Item의 Tag 속 index를 사용하여 프로그램을 종료합니다.
CloseMainWindow() | 사용자 인터페이스가 있는 프로세스를 닫습니다. true/false 값을 리턴하는데 주창이 없을 경우 false를 반환합니다. |
Refresh() | 프로세스 구성 요소 내에 캐시되어 있는 연결된 프로세스 정보를 모두 삭제합니다. |
Kill() | 연결된 프로세스를 즉시 중지합니다. |
더 많은 설명은 아래 사이트를 확인해주시길 바랍니다.
docs.microsoft.com/ko-kr/dotnet/api/system.diagnostics.process?view=net-5.0
3) TextBox와 ComboBox의 Item들을 삭제합니다.
전체 코드
c# | |
|
'프로그램 개발 > C#' 카테고리의 다른 글
[wpf] c# 오류 로그 텍스트 파일 만들기 (0) | 2021.05.31 |
---|---|
[wpf] c# 코드로 폴더 선택하기 - FolderBroswerDialog와CommonOpenDialog (0) | 2021.05.02 |
[wpf] c# 코드로 Style 설정하기 - 2 : 다른 Resource Dictionary 사용 (0) | 2021.03.02 |
[wpf] c# 코드로 Style 설정하기 - 1 : 같은 Resource Dictionary 사용 (0) | 2021.01.17 |
[wpf] c# 코드로 Label 색 변경하기 (0) | 2021.01.10 |