Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.25;
Скачать: CL | DM;

Вниз

запуск одного экземпляра приложения   Найти похожие ветки 

 
aybolit66   (2005-09-01 11:53) [0]

Подскажите, как сделать так, чтобы проектируемое приложение запускалось только в одном экземпляре? Вопрос простой, но никак не могу вспомнить, как это осуществить.


 
Ega23 ©   (2005-09-01 11:55) [1]


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


 
aybolit66   (2005-09-01 12:07) [2]

Ega23, Спасибо! Работает.


 
stone ©   (2005-09-01 12:09) [3]

var
 CheckEvent: TEvent;
begin
 CheckEvent := TEvent.Create(nil, false, true, "MYPROGRAM_CHECKEXIST");
 if not (CheckEvent.WaitFor(10) = wrSignaled) then
    // уже запущена


 
aybolit66   (2005-09-01 12:50) [4]

stone, также благодарю! Твое решение на мой взгляд более универсальное.


 
Юрий Зотов ©   (2005-09-01 13:36) [5]

А в качестве уникального имени удобно использовать полный путь к программе.


 
Ega23 ©   (2005-09-01 13:46) [6]

2 Юрий Зотов ©   (01.09.05 13:36) [5]
А в качестве уникального имени удобно использовать полный путь к программе.

Тогда из другой директории можно вторую копию запустить



Страницы: 1 вся ветка

Текущий архив: 2005.09.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
2-1124016175
Гость22
2005-08-14 14:42
2005.09.25
Как определить количество дней между двумя датами?


3-1124115669
Death_R
2005-08-15 18:21
2005.09.25
Изменения значения отдельной ячейки в двох таблицах


2-1124434319
Ande
2005-08-19 10:51
2005.09.25
Можна ли добавлять динамически пункты меню в MainMenu?


14-1125469580
12DFBDDh
2005-08-31 10:26
2005.09.25
Кодовая страница cp866


14-1125082478
raymond
2005-08-26 22:54
2005.09.25
Прграмма - репозиторий данных