Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

запуск одного экземпляра приложения


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;
  .......


Наверх

Титульная страница Поиск, карта сайта Написать письмо