begin
//중복실행을 막기위함
Mutex := CreateMutex(nil, True, '어플리케이션이름');
//어플리케이션명은 아무 이름이나 구별이 가능한 이름을 주면 됩니다.
if (Mutex <> 0 ) and (GetLastError = 0) then begin
Application.Initialize;
Do Something
Application.Run;
//중복실행이라면 종료
if Mutex <> 0 then CloseHandle(Mutex);
end;
end.
initialization
begin
CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE, 0, 1, 'memo.exe ');
if GetLastError = ERROR_ALREADY_EXISTS then
begin
ShowMessage('이미 실행중입니다.');
halt;
end;
end;
프로젝트파일(*.dpr)안에 적어주시면 됩니다.
uses
Windows,
...
var
Mutex : THandle;
{$R *.res}
begin
//중복실행을 막기위함
Mutex := CreateMutex(nil, True, '어플리케이션이름');
//어플리케이션명은 아무 이름이나 구별이 가능한 이름을 주면 됩니다.
if (Mutex <> 0 ) and (GetLastError = 0) then begin
Application.Initialize;
Do Something
Application.Run;
//중복실행이라면 종료
if Mutex <> 0 then CloseHandle(Mutex);
end;
end.