![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
запуск одного экземпляра приложения
aybolit66 © (2005-09-01 11:53:00)Подскажите, как сделать так, чтобы проектируемое приложение запускалось только в одном экземпляре? Вопрос простой, но никак не могу вспомнить, как это осуществить.
Ega23 (2005-09-01 13:46:00) [1]2 Юрий Зотов © (01.09.05 13:36) [5]
А в качестве уникального имени удобно использовать полный путь к программе.
Тогда из другой директории можно вторую копию запустить
Юрий Зотов (2005-09-01 13:36:00) [2]А в качестве уникального имени удобно использовать полный путь к программе.
aybolit66 (2005-09-01 12:50:00) [3]stone, также благодарю! Твое решение на мой взгляд более универсальное.
stone (2005-09-01 12:09:00) [4]
var
CheckEvent: TEvent;
begin
CheckEvent := TEvent.Create(nil, false, true, 'MYPROGRAM_CHECKEXIST');
if not (CheckEvent.WaitFor(10) = wrSignaled) then
// уже запущена
aybolit66 (2005-09-01 12:07:00) [5]Ega23, Спасибо! Работает.
Ega23 (2005-09-01 11:55:00) [6]
ss:='Какое_нибудь_ключевое_слово';
hnd:=CreateMutex(nil, false, PChar(ss) );
if GetLastError = ERROR_ALREADY_EXISTS then
begin
Beep(100,200); //MessageBeep ->in WinProcs
ReleaseMutex(hnd);
Exit;
end;
Application.Initialize;
.......