启动单控制台应用程序

时间:2009-06-03 04:40:44

标签: c# visual-studio visual-studio-2008

  

可能重复:Run single instance of an application using Mutex

我在控制台应用程序中使用C#中的VS 2008。不确定是否有可用的类(进程?)来限制一次只运行一个控制台应用程序。

2 个答案:

答案 0 :(得分:3)

没有这样的课程,但您可以使用System.Threading.Mutex来构建课程。

Mutex是一个同步原语,也可用于进程间同步。

参见示例: How ensure that only one instance of an application will run?

答案 1 :(得分:1)

我很快就把它打了一下,但它确实显示了第二个控制台,然后隐藏了它。不确定是否有办法阻止第二个控制台甚至出现......

class Program
{
    private static Mutex mutex;

    static void Main(string[] args)
    {
        mutex = new Mutex(true, "MyMutex");
        if (!mutex.WaitOne(0, false))
        {
            return;
        }
        Console.WriteLine("Application started");
        Console.ReadKey(true);

    }
}

您需要添加对System.Threading的引用。