안녕하십니까? 이번 포스팅에서는 제가 구현한 작업관리자의 알고리즘을 설명드리겠습니다.
물론 실력이 부족하여 전부 구현하지는 못하였고 최소한의 기능(응용프로그램)만 구현하였습니다. 그럼 한번 알고리즘을 살펴봅시다.
1. 작업관리자는 윈도우가 아닌 대화상자로 생성되고 대화상자에 메뉴, 탭 컨트롤 등을 추가한다.
2. 작업관리자 창의 응용프로그램 부분은 리스트 뷰로 구현되어 있다.
3. 리스트 뷰에는 데스크탑에서 얻어온 윈도우 핸들이 추가된다.
이 때 가져오는 윈도우 핸들은 제목표시줄에 문자열이 존재해야 하고 자식윈도우가 아니어야 하며 보여지는 윈도우(WS_VISIBLE)이어야 한다.
4. 리스트 뷰의 헤더 버튼을 누르면 가져온 윈도우의 핸들들이 정렬된다.
5. 작업관리자는 항상 최상의 창 위치에 존재한다.
6. 작업끝내기 버튼을 누를시 해당되는 핸들에 WM_CLOSE 메세지를 보낸다.
7. 전환 버튼을 누를 시 작업관리자 창은 최소화가 되고 포커스를 해당되는 핸들로 전환한다.
8. 작업관리자는 자기 자신의 핸들을 리스트 뷰에 추가시키지 않는다.
등이 있겠네요. 물론 실제로는 더 많이 있겠지만 일단 제가 구현한 부분만 설명드렸습니다. 다음 포스팅에서는 리소스를 한 번 살펴봅시다.
'Programing > 프로그램 직접 개발하기(C)' 카테고리의 다른 글
작업관리자 만들기 - 함수들 (0) | 2017.04.27 |
---|---|
작업관리자 만들기 - 리소스 (0) | 2017.04.27 |
메모장 만들기 - 소스 (0) | 2017.03.27 |
메모장 만들기 - 함수들 (0) | 2017.03.18 |
메모장 만들기 - 리소스 (0) | 2017.03.18 |