MFC: How to limit application instance or not allow multiple instance of the same application
1. Create the class #ifndef LimitSingleInstance_H #define LimitSingleInstance_H #include<windows.h> //This code is from Q243953 in case you lose the article and wonder //where this code came from. class CLimitSingleInstance { protected: DWORD m_dwLastError; HANDLE m_hMutex; public: CLimitSingleInstance(TCHAR *strMutexName) { //Make sure that you use a name that is unique for this application otherwise //two apps may think they are the same if they are using same name for //3rd parm to CreateMutex m_hMutex = CreateMutex(NULL, FALSE, strMutexName); //do early m_dwLastError = GetLastError(); //save for use later... } ~CLimitSingleInstance() { if (m_hMutex) //Do not forget to close handles. { CloseHandle(m_hMutex); //Do as late as possible. m_hMutex = NULL; //Good habit to be in. } } BOOL IsAnotherInstanceRunning() { return (ERROR_ALREADY_EXISTS == m_dwLastError); }