我在控制台应用程序中使用C#中的VS 2008。不确定是否有可用的类(进程?)来限制一次只运行一个控制台应用程序。
答案 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的引用。