【原】WPF客户端只能启动一次

public partial class App : Application
    {
        System.Threading.Mutex mutex;
        public App()
        {
            this.Startup += new StartupEventHandler(App_Startup);
        }

        void App_Startup(object sender, StartupEventArgs e)
        {
            bool createNew = false;
            mutex = new System.Threading.Mutex(true, "XXXXX(项目名)", out createNew);
            if (!createNew)
            {
                //createNew = false
                MessageBox.Show("已启动", "系统提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                Environment.Exit(0);
            }
            else
            {
                //在此方法返回时,如果创建了局部互斥体(即,如果 name 为 null 或空字符串)或指定的命名系统互斥体,则包含布尔值 true;如果指定的命名系统互斥体已存在,则为 false。 该参数未经初始化即被传递。 
                //MessageBox.Show("启动");
            }
        }
    }
原文地址:https://www.cnblogs.com/jexwn/p/4553406.html