C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Одна копия програмы, как реализовать?
bitanga
Отправлено: 22.07.2003, 21:05


Ученик-кочегар

Группа: Участник
Сообщений: 25



Нужно чтобы прога запускалась только в одном экземпляре. Знаю что делается это всего несколькими строчками, но не помню как. Подскажите.
Георгий
Отправлено: 22.07.2003, 22:16


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



это кусок кода из самого главного файла — <имя проекта>.cpp
CODE
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
HANDLE mtx=CreateMutex (NULL, FALSE, "TermalMonitorMainMutex");
int rValue;
rValue=WaitForSingleObject(mtx,0);
if (rValue!=WAIT_OBJECT_0)
  {
  MessageBox (NULL,"Обнаружена ещё одна активная копия TermalMonitor\nПродолжение работы не имеет смысла", "Предупреждение", MB_OK);
  return 0;
  }
   try
   {
        Application->Initialize();
...
...
...
        Application->Run();
   }
   catch (Exception &exception)
   {
        Application->ShowException(&exception);
   }
   ReleaseMutex(mtx);
   CloseHandle(mtx);
   return 0;
}

Вернуться в Вопросы программирования в C++Builder