CreateMutex(NULL,TRUE,"XXXXXX Mutex #1");
if(GetLastError()==ERROR_ALREADY_EXISTS)
{ MessageBox(0,"Program is already opened!","Error",MB_OK);
ExitProcess();
}
Едиснтвенность запущенной программы
Если можно, то поподробнее, с примерами :) Короткие ответы типа "с помощью мютексов/семафоров" - не принимаются :)
ЗЫ: под винду
Код:
Пасиба. Вроде работает :)
Еще есть одна тонкость - когда программа определяет, что ее копия уже запущена, она может установить свою копию в качестве активного окна, а сама завершиться.