Question and Answer Database FAQ1769C.txt Using a Mutex to check for previous instances Category :Windows API Platform :All Product :C++Builder 1.x Question: How do I check if there is a previous instance of my application running? Answer: Among the many ways that have been used to do this, using a mutex is probably the easiest. The following code illistrates how to use a Mutex to do this. HANDLE CheckForPrevious (const char *MutexName){ //try to create the mutex HANDLE Mutex = CreateMutex (NULL, true, MutexName); //check if we where allowed to create the mutex //if we where not allowed to do this then return 0 //saying that there is a previous instance of the program int nResult = GetLastError (); if (!nResult) return 0; //if it was create return the Mutex Handle else return Mutex; } you can use this function at the start of an app to see if the app is already running like so: ... Handle Mutex = CheckForPrevious (MutexName); if (!Mutex){ MessageBox (NULL, "Previous instance of the application running", "Previous Instance", MB_OK | MB_ICONEXCLAMATION); return 1; } ... 7/2/98 10:32:32 AM
Last Modified: 01-SEP-99