cqtrq 2017-01-16 13:54 采纳率: 100%
浏览 1397
已采纳

关于Mutex限制应用程序重复启动的问题

大伙帮忙看看以下代码,整个程序按Release编译通过,但点击运行bin\Release目录下的应用程序EXE文件,居然可以连续启动3个,第4个开始弹出消息“本程序已经启动了,不能再重复运行!”,啥原因?困惑中。。。

 static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            bool flag = false;
            Mutex mutex = new Mutex(true, System.Diagnostics.Process.GetCurrentProcess().ProcessName, out flag);
            if (flag)
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new FormStockTrading());
            }
            else
            {
                MessageBox.Show("本程序已经启动了,不能再重复运行!");
                Environment.Exit(1);
            }
        }
    }
  • 写回答

5条回答 默认 最新

  • weixin_35997138 2017-01-16 14:44
    关注

    ㄜ....

    我這邊根據你提供samplecode 下執行後,在Release 執行.exe 只可以點擊執行一次,因為你已經用Mutex 保護該Process執行,
    所以你能夠執行多次實屬怪異...
    你確定你執行.exe檔 是一樣的嗎??

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题