掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
二重起動がうまくいきません。 (ID:44506)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になります。 Del6ですが、二重起動の防止がうまくいきません。 コードは過去ログDelphiによるWin32APIからコピーしています。 EXEを起動後、再度EXEを起動すると、ShowMessageは表示されますが、 その後、フォームが表示され、二重起動してしまいます。 ---------------------------------------- unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; private { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; Mutex: Integer; implementation {$R *.dfm} //二重起動防止コード begin //ミューテックスオブジェクトのハンドルを取得する Mutex := OpenMutex(MUTEX_ALL_ACCESS, False, 'EX_Mutex'); if Mutex <> 0 then begin // オブジェクトのハンドルをクローズする ShowMessage('二重起動は禁止です!'); CloseHandle(Mutex); Exit; end; //ミューテックスオブジェクトを作成する Mutex := CreateMutex(nil, False, 'EX_Mutex'); Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; //ミューテックスオブジェクトの所有権を解放する ReleaseMutex(Mutex); end.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.