C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[62007] Re:중복실행방지를 위해 FindWindow 를 사용했는데요..자기 자신이 먼저 찾아지네요..
김호광 [testcode] 1798 읽음    2010-07-26 18:54
윈도우 비스타와 윈도우 7에서는 뮤텍스를 쓰더라도 의미가 없습니다.

프로세스를 찾아 동일 프로세스가 있는지 체크하시는 것이 빠릅니다.

프로세스 명이 1개 이상이면 중복이라 판단다고 종료하면 됩니다.

도움 님이 쓰신 글 :
: 현재 프로그램의 캡션이 TestApp 라고 하면..
:
:     HWND hWnd = FindWindow(NULL, "TestApp ");
:     if(hWnd)
:     {
:         DWORD ProcessId;
:         GetWindowThreadProcessId(hWnd, &ProcessId); // hWnd로 프로세스 ID를 얻음..
:         HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessId);
:         if(hProcess)
:         {
:             TerminateProcess(hProcess,0);//또는 ExitProcess 사용해서 죽임..
:         }
:     }
:
: 요 소스를 프로젝트 WinMain 함수에 넣었는데..
: 중복실행을 방지하려고 했는데, 처음실행에도 무조건 걸리네요... ㅠㅠ
: 폼도 안만들어진상태인 WinMain 함수에서 왜 자기자신이 검색이 되는지..
:
: 도움부탁드립니다..
:
: 참고로 Mutex 도 사용해보았습니다만, 어떤이유에서인지 테스트부서에서 몇십회 실행중에 중복실행이 된다고 하네요... PC입수할수 있는 환경도 아님 ㅠㅠ

+ -

관련 글 리스트
62005 중복실행방지를 위해 FindWindow 를 사용했는데요..자기 자신이 먼저 찾아지네요.. 도움 1613 2010/07/26
62012     Re:중복실행방지를 위해 FindWindow 를 사용했는데요..자기 자신이 먼저 찾아지네요.. 장성호 2532 2010/07/27
62007     Re:중복실행방지를 위해 FindWindow 를 사용했는데요..자기 자신이 먼저 찾아지네요.. 김호광 1798 2010/07/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.