[C#] 가계부 만들기 - Mutex (프로그램 중복확인)

프로젝트/가계부(1)  2013.01.20 23:26

안녕하세요. 명월입니다.
올해 겨울은 유난히 추운 것 같네요.. 블로그를 이사해서 매일 포스팅을 하자고 다짐의 다짐을 했지만.. 또 프로젝트가 바빠지니 그동안 포스팅을 전혀 못했네요...
아무리 바빠도 1일 1포스팅 지키자고 지키자고 해도 쉽지가 않네요..


그래도 지금부터라도 다시 마음 다잡고 포스팅을 개시 하겠습니다.


그냥 강좌를 쓰자니 마땅히 떠오르는 것도 없고 일본어로 된 가계부를 만들어달라는 부탁도 있어서 겸사겸사 해서 포스팅을 하겠습니다.


원래 프로그램 개발을 할 때에는 정석은 분석,수집 -> 설계 -> 상세설계 -> 개발 -> 테스팅 -> 결합테스팅 -> 사용테스팅 이런식으로 나가는게 일반적입니다.


여기서는 분석,수집 -> 설계 -> 상세설계 까지 포스팅을 하면서 하면 좋겠으나 그럼 너무 지루하기 때문에 바로 코딩을 하면서 설계를 같이 하는 것으로 하겠습니다.


먼저 프로그램을 시작할때는 프로그램 중복 확인을 먼저 둡니다. 프로그램 중복 확인은 Mutex 클래스로 확인을 하겠습니다.


먼저 MSDN을 확인 해 보겠습니다.


MSDN - Mutex 클래스



자 그럼 프로젝트를 시작 해 보도록 해보겠습니다.



자 언제나 그러하듯 템플릿은 이용하지 않고 콘솔로 작성을 시작하도록하겠습니다.
프레임 워크는 2.0으로 시작하겠습니다.
(※ 프레임 워크는 무작정 높은게 좋은 것은 아닙니다. 프레임 워크가 높으면 높을수록 호완성이 떨어질수가 있기 때문입니다.
예를 들면 Vista 이후는 기본으로 프레임 워크 2.0 이 깔려있습니다. 나는 3.5, 4.0 으로 개발하였는데 그 비스타 컴퓨터가 업그레이드 되어있지 않으면 이 프로그램은 실행 되지 않을 수 있습니다. 즉 프레임 워크 2.0 으로 낮추면서 프로그램의 Os 기본 사양이 Vista 이후로 사양이 낮아 질 수 있기 때문입니다. 물론 Link 객체나 2.0 에 없는 클래스를 사용하는데 무작정 낮게만 할 게 아니라 분석 설계 단계에서 어떤 클래스를 사용할 지 결정을 하고 프레임 워크를 결정하는 것입니다.
가계부 프로그램은 매우 가벼운 프로그램 이기에 2.0으로 가보겠습니다. 이 후 필요하면 올리도록 하지오.)



값은 파라미터 out으로 참조하여 나오겠습니다.
( 현재 프로젝트가 꽤 진행중이여서 이미 만들어진 부분이 있으나 포스팅 단위로 설명을 하도록하겠습니다.)


결과 화면 입니다.



프로그램을 두번 실행 시키면 두번째에는 프로그램이 실행중이라는 결과창이 나옵니다.


예제 소스입니다.

Program.cs


(소스는 부분부분 업데이트를 하나 전체 실행되는 프로젝트가 필요할 시 댓글 남겨주세요)


댓글 6개가 달렸습니다.
댓글쓰기

  1. 2014.05.16 12:23 |  수정/삭제  댓글쓰기

    비밀댓글입니다

  2. 성낙균
    2014.12.11 00:08 신고 |  수정/삭제  댓글쓰기

    이제 C#을 접했는데 정말 가뭄에 단비 같은 소스입니다.

    감사합니다~


  3. 2015.01.27 23:13 |  수정/삭제  댓글쓰기

    비밀댓글입니다

    • 明月 v명월v
      2015.01.28 00:58 신고 |  수정/삭제

      안녕하세요... 블로그 방문 갑사합니다.
      옆에 예제소스 카테고리에 보면 예제소스가 있습니다..
      일단 올린 것들은 실행이 다 되는 것들입니다.. 미완이긴 하지만요...
      다만 DB를 로컬디비가 아니라 따로 데이터베이스를 설치해야 하는 점은 있습니다. 참고 해 주세요..

  4. 이리
    2017.10.11 07:54 신고 |  수정/삭제  댓글쓰기

    c# 초보자인데 도움이 정말 많이 될 것 같습니다. 제가 실력이 부족해서 cs파일로 디버깅을 해도 프로그램이 정상적으로 돌아가지 않습니다. 혹시 sin파일을 받을 수 있을까요??