Borland C++ Builder FAQ - Как сделать, чтобы программа не запускалась второй раз (Вариант 2)

ОГЛАВЛЕНИЕ


Как сделать, чтобы программа не запускалась второй раз (Вариант 2)

// Для чтобы программа не  запускалась второй раз напишите следующий код:
BOOL WeAreAlone(LPSTR szName)
{
HANDLE hMutex=CreateMutex(NULL,TRUE,szName);
if (GetLastError()==ERROR_ALREADY_EXISTS)
  {
  CloseHandle(hMutex);
  return false;
  }
return true;
}

//В CreatForm пишишь проверку:
if (WeAreAlone("Some_Unique_Name_Or_Other"));
  else
  {
  ShowMessage("Такая программа уже работает!");
  exit(0);
  }