Delphi World - Запретить запуск второго экземпляра программы
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Запретить запуск второго экземпляра программы

Когда у Господа Бога в течение получаса 15-ый раз завис компьютер, он решил выдать Б. Гейтсу последнее предупреждение. Результат вы знаете: пострадал Сиэтл.

В Windows 95, по-моему, это самый простой работающий вариант. Этот текст должен находиться в модуле проекта (добраться до него можно через меню View/Project Source).


program Project1;

uses
  Forms,
  Windows, // не забудьте эту строчку
  Unit1 in 'Unit1.pas' {Form1};

  {$R *.RES}

var
  HM: THandle;
function Check: boolean;
begin
  HM := OpenMutex(MUTEX_ALL_ACCESS, false, 'MyOwnMutex');
  Result := (HM <> 0);
  if HM = 0 then
    HM := CreateMutex(nil, false, 'MyOwnMutex');
end;

begin
  if Check then
    Exit;
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования