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
[51920] Re:3중 중복실행 방지를 하려면...
장성호 [nasilso] 1465 읽음    2008-01-16 19:40
2번 중복실행 방지를 어떤방식으로 하셨나요?
보통 중복실행 방지는 Mutex를  이용하곤 하는데...

3번까지는 허용하고 그이상은 실행안되게하려면?
여러가지 방법이 있겠지만...

그냥 간단히 중복실행방지 코드를 3번 복사해 넣으시면 될듯 합니다.

샘플..
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{

    try
    {

        HANDLE mutex=NULL;
        const char *mutexname[3] = {"MyProgram1","MyProgram2","MyProgram3"};

        int i=0;
        for(;i<3;i++)
        {
            mutex = OpenMutex(MUTEX_ALL_ACCESS, false, mutexname[i]);
            if(mutex==NULL)
            {
                 mutex = CreateMutex(NULL,true,mutexname[i]);
                 break;
            }
        }
        if(i>=3)
        {
            ShowMessage("현재 프로그램이 가동중입니다...");
            return 0;
        }

         Application->Initialize();
         Application->CreateForm(__classid(TForm1), &Form1);
         Application->Run();
    }
    catch (Exception &exception)
    {
         Application->ShowException(&exception);
    }
....

그럼..


DoyongID 님이 쓰신 글 :
: 어플리케이션을 3번까지만 중복 실행하게 하고, 4번째부터는 중복 실행안되게 하려고 합니다..
:
: 2개이상 못띄우게 하는건 알겠는데, 3개이상은 어떻게 해야 하나요? 실행중인 중복 어플리케이션 갯수를 알아내는 함수는 없을까요?

+ -

관련 글 리스트
51916 3중 중복실행 방지를 하려면... DoyongID 1101 2008/01/16
51920     Re:3중 중복실행 방지를 하려면... 장성호 1465 2008/01/16
51918     Re:3중 중복실행 방지를 하려면... 김호광 1121 2008/01/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.