|
mutex = OpenMutex(MUTEX_ALL_ACCESS, false, mutexname);
이렇게 해보세요
그럼...
김명섭 님이 쓰신 글 :
: 아래와 같은 코드를 이용하여 프로그램을 한번만 실행시킬 수 있다고 하는데요~~
: 입력해서 exe파일을 만들어서 실행했지만 프로그램이 여러개 실행됩니다..
: (ShowMessage는 실행되지 않았습니다..)
: 혹시 아시는분 계시면 알려주시면 고맙겠습니다.
:
: WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, INT)
: {
: HANDLE mutex;
: try
: {
: const char mutexname[] = "MyProgram";
: mutex = OpenMutex(0, false, mutexname);
: if(mutex == NULL)
: {
: mutex = CreateMutex(NULL,true,mutexname);
: }
: else
: {
: ShowMessage("현재 프로그램이 가동중입니다...");
: return 0;
: }
: //밑부분은 현재 있는 상태
: Application->Initialize();
: Application->CreateForm(__classid(TForm1),&Form1);
: Application->Run();
: }
: catch (Exception &exception)
: {
: Application->ShowException(&exception);
: }
: // 프로그램에 사용된 뮤텍스 해제
: ReleaseMutex(mutex);
: return 0;
:
:
: }
|