unit unit1;
interface
implementation
//二重起動防止プログラム
var
ExeName : string;
hMutex: THandle;
initialization
//Exe名
ExeName := ExtractFileName(ParamStr(0));
//同一名Mutex検索
hMutex :=
OpenMutex(MUTEX_ALL_ACCESS, false, pchar(ExeName));
if hMutex <>
0 then
begin
//起動中止
CloseHandle(hMutex);
Halt;
end else
begin
//起動許可
//Mutex作成
hMutex := CreateMutex(nil, false, pchar(ExeName));
end;
finalization
//起動終了
//Mutex破棄
ReleaseMutex(hMutex);
end.
|