原创 在VC#下利用互斥阻止同进程多实例运行的正确代码

2008-10-31 20:27 3343 4 4 分类: 软件与OS

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Threading;//Mutex类需要


namespace WindowsFormsApplication2
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            bool createdNew;
            Mutex mutexFile = new Mutex(false, "WindowsFormsApplication2", out createdNew);//创建互斥
            if (createdNew)
            {//成功创建无进程运行
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
//              mutexFile.ReleaseMutex();//不应该调用此函数
                mutexFile.Close();//释放句柄
            }
            else
            {//创建失败有进程在运行
                MessageBox.Show("对不起,有一进程在工作", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
    }
}


6179420f-4df7-45a6-8632-57d41307c73d.gif

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条