16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"RE:二重起動防止"
この発言は #00032 Dia さんの二重起動防止 に対するコメントです
実はこいつはSBorlandのFAQにあることに気がつきました(^^;
nifty:SBORLAND/MES/13/9 です。
しかも最後に解放してないやん(゚゚;)\(--;バキッ
とりあえず、訂正版です。
var
hMutex:THandle;
begin
hMutex := OpenMutex(MUTEX_ALL_ACCESS,False,'PassWord');
//すでにMutexがあるかどうか調べる
if hMutex <> 0 then
begin //あるとき
ShowMessage('すでに起動しています。');
CloseHandle(hMutex);
PostQuitMessage(0);
end else begin //ないとき
hMutex := CreateMutex(nil,False,'PassWord');
//Mutexを作成しておく。PassWordは、他のアプリと重複しないような
// 文字列ならなんでもよい
end;
{ ここに、Delphiが自動で作成する以下のコードがくる
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
}
ReleaseMutex(hMutex);
end;
97/10/23(Thu) 01:23am
CQK00014 Dia
Original document by Dia 氏 ID:(CQK00014)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|