【转】C# WinForm 程序单实例运行,再次运行时激活前一个实例

转自:http://blog.csdn.net/jiajiayouba/article/details/9138957

public static class SingleInstance
    {
        public static EventWaitHandle ProgramStarted { get; set; }

        public static bool IsContinue()
        {
            bool createNew;
            ProgramStarted = new EventWaitHandle(false, EventResetMode.AutoReset, Application.ProductName, out createNew);
            if (!createNew)
            {
                ProgramStarted.Set();
            }
            return createNew;
        }

        public static void SetCallback(WaitOrTimerCallback callback, object state)
        {
            ThreadPool.RegisterWaitForSingleObject(ProgramStarted, callback, state, -1, false);
        }
    }

【转】C# WinForm 程序单实例运行,再次运行时激活前一个实例_第1张图片

【转】C# WinForm 程序单实例运行,再次运行时激活前一个实例_第2张图片

你可能感兴趣的:(【转】C# WinForm 程序单实例运行,再次运行时激活前一个实例)