Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Едиснтвенность запущенной программы

12K
23 января 2007 года
mathers
33 / / 15.01.2007
Каким образом можно сделать проверку, не запущена ли уже копия данной программы?
Если можно, то поподробнее, с примерами :) Короткие ответы типа "с помощью мютексов/семафоров" - не принимаются :)
ЗЫ: под винду
499
23 января 2007 года
madjahed
149 / / 14.01.2004
Создаёшь мьютекс при старте программы с неким именем. Два раза с одним именем мьютекс не создастся, т.е. функция возвратит ошибку:
 
Код:
CreateMutex(NULL,TRUE,"XXXXXX Mutex #1");
if(GetLastError()==ERROR_ALREADY_EXISTS)
{                  MessageBox(0,"Program is already opened!","Error",MB_OK);
                    ExitProcess();
}
12K
24 января 2007 года
mathers
33 / / 15.01.2007
Пасиба. Вроде работает :)
284
08 февраля 2007 года
michael_is_98
587 / / 25.02.2005
Еще есть одна тонкость - когда программа определяет, что ее копия уже запущена, она может установить свою копию в качестве активного окна, а сама завершиться.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог