만든이 : 99학번 정시영 99학번 신현기 02학번 홍명지
파일공유를 위한 P2P 프로그램
프로그램 소개
P2P라 하면 기존의 서버와 클라이언트 개념이나 공급자와 소비자 개념에서 벗어나 개인 컴퓨터끼리 직접 연결하고 검색함으로써 모든 참여자가 공급자인 동시에 수요자가 되는 형태이다.
그 P2P를 이용한 파일공유라 함은 대표적인 것이 “소리바다”일 것이다 그럼 우리가 만든 이 프로그램이 소리바다를 능가할 정도의 수준인가? 물론 아니다. 세발의 피도 안 될 정도의 그야말로 최소한의 기능일 뿐이다.
파일 공유 프로그램 치고 동시 다운로드를 지원하지 않는 프로그램이 어디에 있겠는가? 파일을 다운로드하면서 정보를 출력하지 않는 프로그램이 어디 있겠는가? 그냥 단지 우리는 우리 최초의 프로젝트를 성공하고 공부를 하기위한 최소한의 프로그램을 작성하는데 노력을 했을 뿐이다.
그 P2P를 이용한 파일공유라 함은 대표적인 것이 “소리바다”일 것이다 그럼 우리가 만든 이 프로그램이 소리바다를 능가할 정도의 수준인가? 물론 아니다. 세발의 피도 안 될 정도의 그야말로 최소한의 기능일 뿐이다.
파일 공유 프로그램 치고 동시 다운로드를 지원하지 않는 프로그램이 어디에 있겠는가? 파일을 다운로드하면서 정보를 출력하지 않는 프로그램이 어디 있겠는가? 그냥 단지 우리는 우리 최초의 프로젝트를 성공하고 공부를 하기위한 최소한의 프로그램을 작성하는데 노력을 했을 뿐이다.
만든이 : o3p팀(03학번 정영희, 강원미, 정두진, 김상직, 안준현)
Windows Manager 소개
우리는 지금까지 많은 예약프로그램을 보아왔습니다. 하지만 이런 프로그램들은 단지 시간만을 예약할 수 있고 할수 있는 작업 또한 적습니다. 이 점을 보완하고자 한 것이 Windows Manager입니다. Windows Manager에서는 시간 뿐만이 아니라 ‘프로그램의 시작’, ‘프로그램의 종료’, ‘윈도우즈의 시작’, ‘윈도우의 종료’, ‘윈도우의 시작’ ‘타이머’ ‘키보드’ 등으로 이벤트를 예약할 수 있습니다.
또 작업 또한 ‘윈도우즈 종료’, ‘파일 삭제’, ‘파일 복사’, ‘프로그램 종료’, ‘프로그램 시작’, ‘마우스 따라하기’, '로그남기기‘등을 추가하였습니다. 이렇게 함으로서 많은 기능을 할수있게 되었습니다. 기존에 있던 ‘파일을 다운 받으면 이 폴더에 저장하고 싶다. 앞으로 한시간뒤에 컴퓨터를 종료하고 싶다. 시간이 되면 내가 마우스움직인것 처럼 그대로 마우스를 움직이고 싶다.’ 등과 같은 불편을 다는 아니지만 약간이나마 해소할수있게했다. 또 MessageBox는 각종의 상태를 나타내기위해 잘쓰는데 프로그램의 결과도 이렇게 MessageBox를 이용할 수 있습니다.
이런 기본적이고 결과를 나타내는 API몇가지를 Hook하게 하여 이벤트로 추가할수있게 하였습니다. 또 이 프로그램은 UI가 많이 들어가 기존에 사용하기로했던 VC++ API로는 생산성이 많이 떨어져 VisualBasic으로 UI를 작성하고 중요부분을 DLL형태로 작성한 이벤트감지부, 작업부와 통신(IPC)하는 방법으로 Message를 사용했다. 우리가 사용한메시지는 WM_USER + 2003 으로 정하고, LPARAM에는 이벤트의 종류, WPARAM에는 이벤트ID와 이벤트추가 정보가 들어가기로 했습니다. [그림 2.1]은 전채 구성도입니다.
또 작업 또한 ‘윈도우즈 종료’, ‘파일 삭제’, ‘파일 복사’, ‘프로그램 종료’, ‘프로그램 시작’, ‘마우스 따라하기’, '로그남기기‘등을 추가하였습니다. 이렇게 함으로서 많은 기능을 할수있게 되었습니다. 기존에 있던 ‘파일을 다운 받으면 이 폴더에 저장하고 싶다. 앞으로 한시간뒤에 컴퓨터를 종료하고 싶다. 시간이 되면 내가 마우스움직인것 처럼 그대로 마우스를 움직이고 싶다.’ 등과 같은 불편을 다는 아니지만 약간이나마 해소할수있게했다. 또 MessageBox는 각종의 상태를 나타내기위해 잘쓰는데 프로그램의 결과도 이렇게 MessageBox를 이용할 수 있습니다.
이런 기본적이고 결과를 나타내는 API몇가지를 Hook하게 하여 이벤트로 추가할수있게 하였습니다. 또 이 프로그램은 UI가 많이 들어가 기존에 사용하기로했던 VC++ API로는 생산성이 많이 떨어져 VisualBasic으로 UI를 작성하고 중요부분을 DLL형태로 작성한 이벤트감지부, 작업부와 통신(IPC)하는 방법으로 Message를 사용했다. 우리가 사용한메시지는 WM_USER + 2003 으로 정하고, LPARAM에는 이벤트의 종류, WPARAM에는 이벤트ID와 이벤트추가 정보가 들어가기로 했습니다. [그림 2.1]은 전채 구성도입니다.