忍者ブログ

[PR]

2024年05月17日
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

多重起動の防止

2013年11月06日

アプリケーションの多重起動を抑止します。
アプリケーションのソースを表示し(.dpr)下記のように変更します。

program Project1;

uses
  Windows,
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

const
  MutexName      = 'TEST_APPLICATION'; //この文字列を一意になるよう変更
var
  hMutex : THANDLE;
begin
  hMutex := OpenMutex(MUTEX_ALL_ACCESS, False, MutexName);
  if (hMutex <> 0) then begin CloseHandle(hMutex); Exit; end;
  hMutex := CreateMutex(nil, False, MutexName);

  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
  Application.Run;

  CloseHandle(hMutex);
end.

MutexNameの文字列は自由に変更して使いますが、他のミューテックス名と被ると一つも起動できなくなる恐れがありますのでユニークになるように工夫してください。

拍手[1回]

PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字