16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"二重起動防止"
この発言に対し以下のコメントが寄せられています
#00081 Dia さん RE:二重起動防止
同じプログラムが二つ同時に立ち上がらないようにする方法です。
{
アプリケーションのメインファイル(project1.dpr)の
頭に書くのがよいと思います
uses節にwindows(Mutex用),Dialogs(showMessage用)を追加しておいてください
}
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;
end;
二重起動防止については、FAQにもたくさん例が挙がっていますので
参照してください。
97/10/19(Sun) 01:40am
CQK00014 Dia
Original document by Dia 氏 ID:(CQK00014)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|