세션에 상관없이 중복 실행방지 방법
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\" 접두어를 주면 전역 뮤텍스가 생성되더군요.
'프로그래밍 > Delphi' 카테고리의 다른 글
프로세스 아이디(ProcessID)로 윈도우 핸들(Handle) 얻기 (0) | 2010.05.27 |
---|---|
키보드 후킹 예제 (2) | 2010.05.27 |
델파이 폼에서 Flex 어플 올려놨을때 폼에 맞게 리사이징 (1) | 2010.04.14 |
TADOQuery가 현저히 느려질 경우 (1) | 2010.04.12 |
[Delphi]외부 프로그램 실행시키기 Source (0) | 2010.03.11 |