Карта сайтаСсылкиКонтакты

Одна копия запущенного приложения (профессиональный путь)

PDF Печать
Статьи

Как сделать так, чтобы запускалась только одна копия программы.

Добавьте этот код в модуль Вашего приложения:


var 
mutex     : THandle; 
mutexName : array [0..7] of char; 

begin 
  try 
  StrPCopy(mutexName ,'anyname'); 
  mutex := openmutex ( MUTEX_ALL_ACCESS, False, mutexName )  ; 

  If mutex = 0 then begin 
      mutex := createmutex ( nil , true, mutexName); 
      Application.Initialize; 
      Application.CreateForm ( TForm1, Form1 ); 
      Application.Run; 
      ReleaseMutex (mutex); 
      end 

  else begin 
    Messagedlg( 'Приложение уже запущено.' ,
        mtinformation, [mbOk],0 ); 
    Application.Terminate; 
  end; 

  finally 
   { ... } 

  end; 

end. 

Для дополнительной информации обратитесь к Windows SDK о "mutex".

По материалам http://delphi3000.com


 

Добавить комментарий


Защитный код
Обновить