zoukankan      html  css  js  c++  java
  • Mutex通过设置mutexName实现会话状态下单实例运行

    mutexName= "Local\\" +"AppName";

    只对创建它的会话有效,也就是说新开启一个远程链接时会再次启动 ConsoleApp实例。

    复制代码
       private static void LocalMutex()
            {
                // 是否第一次创建mutex
                bool newMutexCreated = false;
                string mutexName = "Local\\" + "tenghoo";
                Mutex mutex = null;
                try
                {
                    mutex = new Mutex(false, mutexName, out newMutexCreated);
                }
                catch (Exception ex)
                {
                    Console.Write(ex.Message);
                    System.Threading.Thread.Sleep(3000);
                    Environment.Exit(1);
                }

                // 第一次创建mutex
                if (newMutexCreated)
                {
                    Console.WriteLine("程序已启动");
                   //todo:此处为要执行的任务
                }
                else
                {
                    Console.Write("另一个窗口已在运行,3秒以后自动关闭。。");
                    System.Threading.Thread.Sleep(1000);
                    Console.Write("1");
                    System.Threading.Thread.Sleep(1000);
                    Console.Write("2");
                    System.Threading.Thread.Sleep(1000);
                    Console.Write("3");
                    Environment.Exit(1);//退出程序
                }
            }
  • 相关阅读:
    老杆子遇到新问题
    Linux 下网路适配器配置
    OpenCV学习笔记2_ShowAvi_获取Avi视频图像、摄像头图像
    OpenCV学习笔记3_ShowAvi_Trackbar_加载视频,并添加拖动条
    PS照片
    OpenCV学习笔记7_ImageToBGR_彩色图像三通道转化成BGR3幅单通道图像
    #include "stdafx.h"_预编译头文件
    OpenCV学习笔记1_ShowImage_显示一幅图像
    Visual Assist X_VS2010编程插件安装
    OpenCV学习笔记4_ImageToAvi_写视频
  • 原文地址:https://www.cnblogs.com/sky7034/p/2801286.html
Copyright © 2011-2022 走看看