Windows 7에서 테스트 완료
// "Global\\" 을 앞에 붙여줘야 다른 윈도우 계정에서도 중복실행이 된다.
program_mutex_ = CreateMutexW(NULL, FALSE, L"Global\\뮤텍스이름");
DWORD mutex_error = GetLastError();
if (mutex_error == ERROR_ALREADY_EXISTS) {
cout << "이미 실행중입니다." << endl;
return false;
}
if (mutex_error != 0) {
cout << "mutex error : " << GetLastError() << endl;
wxMessageBox(msg);
}
만약 어드민 권한의 계정으로 mutex가 생성된 상태에서
일반 유저가 중복 프로그램 실행하면 ERROR_ACCESS_DENIED (5) 에러를 받는다.
기타 자세한 설명에 대한 블로그
만약 어드민 권한의 계정으로 mutex가 생성된 상태에서
일반 유저가 중복 프로그램 실행하면 ERROR_ACCESS_DENIED (5) 에러를 받는다.
기타 자세한 설명에 대한 블로그
'C++' 카테고리의 다른 글
UTF-8 변환 (UTF8Conv.h) (0) | 2012.03.10 |
---|---|
#pragma message 를 활용한 할일 적어두기 (0) | 2012.03.07 |
메모리 릭 확인 - Detected memory leaks (0) | 2012.02.27 |
오픈소스 라이센스 : libcurl, openSSL, wxWidgets (0) | 2012.02.26 |
[wxWidgets] command line 인자 받기 (0) | 2012.02.20 |
[libcurl] curl_multi_perform 사용시 -1 (select error) (0) | 2012.02.13 |
InstallShield 로 작성되어 설치된 프로그램 버전 정보 (0) | 2012.02.01 |
libcurl + openssl (visual studio 2010, static library) (0) | 2012.01.27 |