2013년 1월 7일 월요일

wpf 중복 실행 방지 코드

wpf 중복 실행 방지 코드




/// <summary>
    /// App.xaml에 대한 상호 작용 논리
    /// </summary>
    public partial class App : Application
    {
        // 중복실행방지
        Mutex _mutex = null;
        protected override void OnStartup(StartupEventArgs e)
        {
            string mutexName = "Pro_id";
            bool isCreatedNew = false;
            _mutex = new Mutex(true, mutexName, out isCreatedNew);

            try
            {
                _mutex = new Mutex(false, mutexName);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                Application.Current.Shutdown();
            }

            if (_mutex.WaitOne(0, false))
            {
                base.OnStartup(e);
            }
            else
            {
                System.Windows.MessageBox.Show("이미 실행중입니다.");
                System.Windows.Application.Current.Shutdown();
            }
        }
    }

댓글 없음: