본문 바로가기

프로그래밍/Delphi

뮤텍스를 이용한 세션에 상관없이 중복 실행방지 방법


세션에 상관없이 중복 실행방지 방법
  hMutex := CreateMutex(nil, True, 'Global\KPFTransfer');
  if (0 <> hMutex) and (ERROR_ALREADY_EXISTS = GetLastError) then
  begin
    strMsg := '이미 "KPFTransfer.exe"가 실행중입니다. 기존 프로세스를 종료한 이후에 다시 실행하여 주십시요.';
    MessageBox(0, PChar(strMsg), PChar(TITLE_STRING), MB_OK or MB_ICONSTOP);
    Exit;
  end;


주의 : 2000에서는 동작안함

뮤텍스 이름줄때, 앞에 "Global\" 접두어를 주면 전역 뮤텍스가 생성되더군요.