어플을 실행할때 중복 실행이 되지 않게 하기 위해 방지 하는 방법에 대해서 알아보자.
그 방법에는 FindWindow()를 이용하거나 EnumWindows()를 이용하는등의 방법이 있지만
Mutex를 이용하여 간단하게 처리 하는 방법에 대해 알아보도록 하자.
함수원형
HANDLE CreateMutex(LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL blnitialOwner, LPCTSTR lpName);
Argument
- lpMutexAttributes : Mutex의 보안속성을 지정, 주로 상속관계를 지정하기 위해 사용, 일반적으로 NULL
- blnitialOwner : 생성시 사용권한을 갖을것인지 여부,
- lpName : Mutex의 이름, Mutex 이름을 아는 다른 프로세스와의 동기화 가능, 유니크한 이름 지정.
CreateMutex는 생성한 Mutex의 핸들을 리턴하고
같은 이름의 Mutex가 생성되어 있을 경우 해당 뮤텍스 핸들을 리턴
GetLastError()로는 ERROR_ALREADY_EXIST값을 얻을수 있고
Mutex에 접근할 수 있는 권한이 없는 경우 (ERROR_ACCESS_DENIED)NULL 을 리턴한다.
이를 통해 위 소스를 이용하여 중복실행 방지를 할수 있는 것이다.
중요한것은 CreateMutex()를 통해 Mutex의 핸들을 리턴 받은 루틴 후에
GetLastError()를 확인했을때 ERROR_ALREADY_EXIST 값과 같다면 이미 실행되어 있다는 것이고
그렇다면 종료 루틴으로 흘러가게 되고 어플은 종료 되는 것이다.
참고로 게임이나 다중 실행 방지 처리가 되어 있는데 이런방식을 사용했다면 리버싱관점에서
이 부분을 뛰어 넘기면 멀티로더를 제작할수도 있을듯 하다.
전체 글
- 어플 다중 실행 방지 - Mutex를 이용하는 방법 CreateMutex() 2009.12.02
- 쇼펜하우어 문장론 2009.11.30 2
- 연금술사 2009.11.30
어플 다중 실행 방지 - Mutex를 이용하는 방법 CreateMutex()
2009. 12. 2. 15:05
반응형
쇼펜하우어 문장론
2009. 11. 30. 19:34
반응형
사색하고 독서하며 글쓰는 인생은 남다르다.
블로그를 운영하면서 포스팅을 하면서 나의 글재주에 많은 부족함을 느낀다.
이에 좀더 나은 포스팅을 위해 쇼펜하우어의 문장론을 구매하였다.
"사색하고 독서하며 글쓰는 인생은 남다르다."
나는 몽상에 빠져 허우적대지만 정작 깊이 사색하는 경우가 드물다.
이에 나의 포스팅에 도움이 되리라 구매하며 좀 더 깊은 사색의 세계에 빠져들길 기원한다.
날 향한 질책 " 허황된 글쓰기는 조잡한 연극과 같다" OTL
//2009.11.30
이 책의 서평을 쓰기위해 몇번이나 타이핑을 했다 지웠다 하는 행동을 했다.
나는 책을 읽고 내가 읽은 책의 내용을 되새기기 위해 서평을 작성했다.
하지만 그 과정이 단순한 글을 쓰기 위한 과정이 아니었나 하는 생각이든다.
이 책의 내용은 쇼펜하우어의 주관적인 의견이 강한 책이다.
그의 사상이나 철학등 그의 주관이 강하게 피력되어 있는 책이다.
물론 그가 말하고자 하는 본질에 문제는 없다. 하지만 너무 과격하다는 느낌이 든다.
그리고 애초에 내가 바랬던 사색에 대한 부분은 다른 부분에 비해 그 내용이 약소하다.
책을 읽기 위한 책읽기 남의 사상을 그대로 강요받고 그대로 받아 들이는 어리석음
사색하지 않는 글쓰기와 독서는 아무런 의미 없는 에너지와 시간의 낭비라는 질책.
글을 쓰면서 단지 화려하고 멋있게 보이기 위한 난해하고 어려운 문장의 사용등..
진정한 글쓰기에 대한 쇼펜하우어에 대한 강한 집념이 들어가 있는 듯한 책이다.
그리고 나를 향한 질책이기도 하다. 단순히 책을 많이 읽고 싶다던 생각 에서 비롯되서
얼마만큼의 책을 읽었다는 듯한 과시욕에서 발달된 서평 작성... 그런 나를 되돌아보게 한다.
연금술사
2009. 11. 30. 18:25
반응형
파울로 코엘료의 대표작이라고 할수 있는 연금술사..
한소년의 꿈을 찾아 떠나는 이야기이다.. 언젠가 아는 지인으로부터 읽어보라는 권유를 받았던..
내 자신의 꿈을 향한 길에 갈등하던 때에 추천 받았던 책이다..
그리고 코엘료의 이름은 낯설지가 않기도 하다 개인적으로 포스팅에 썼던 문구중에
인간 존재의 흥미로움이란 글이 코엘료의 '흐르는 강물처럼'에 나왔던 문구이기도 하다.
'흐르는 강물처럼'을 읽어 본것은 아니고 발췌한 글을 읽어보았던 것이다.
인터넷서점에서 40% 할인 행사가 있어서 그냥 질러 버렸다.
//2009.11.30
연금술사.. 책을 손에 쥐고 꽤 재미있게 읽을 수 있는 책이였다.
주말동안 5시간씩 왕복 10시간 가까이 고속버스를 타고 고향집에 다녀오는 동안에 읽어버렸다.
"자아의 신화"를 이루어 가는 양치기의 이야기.. 참 많은 생각들을 하게 하는 책이였다.
나또한 내 "자아의 신화"를 이루기 위해 떠난 "내 남자의 길"이 있지만 지금은
그 길을 잃어버린 것은 아닌가 하는 생각이 든다. 언제나 표지를 발견하지만 이내 마음속에서
새로운 변화 그리고 도전에 대한 두려움이 싹터서 이내 표지를 감추어 버리는..
내게는 표지 보다는 이정표라 칭함이 더 맞을 것 같다. 삶은 갈림길의 연속이라 하던가?
내가 가야하는 "내 남자의 길"은 언제나 갈림길에 놓이지만 이정표를 발견하고도 가지 못하고
두려움에 포기하고 이내 현실에 안주하는 것이 아닐까? 아니 안주하고 있다.
그저 지금 손에 쥐고 있는 것을 잃을까봐 새로운 선택을 하지 못하고 있다.
책을 읽으면서 나를 빗대어 보며 많은 생각을 하게 되는 책이다.
자기 자신의 "자아의 신화"가 무엇이었는지 혹시 잊고 잊지는 않는지 그런 생각이 들면 읽어보시길...
여담이지만.. 아이가 태어날때는 손을 꼭 쥐고 태어난다고 한다.
그 작은 손에는 자신의 "꿈"을 꼭 쥐고 태어나서 서서히 성장하며 손가락을 편다.
그때 손을 떠나 날아가버린 "꿈"을 찾기 위해 사람은 성장한다고 한다. 그 잃어버린 꿈을 찾기위해..
자신이 가지고 태어났던 아련한 자신만의 꿈을 위해서 말이다..
내가 가야할 길에 어긋남이 없이 가고 있는지 지금은 잘 모르겠다. 마음이 아련히 아파오기만 한다.
결론은 꽤 읽을 만한 책이였다. 파울로 코엘료의 "흐르는 강물처럼" 이 읽고 싶어졌다.
그리고 이 책을 추천해준 지인에게 고마움을 표하고 싶다.
예전 나의 "자아의 신화"에 대해 고뇌할때 이 책을 추천해준 지인이 표지가 아니었을까 하는 생각이 든다.