当前位置: 编程技术>.net/c#/asp.net
C#窗体程序仅允许启动一次的解决方法
来源: 互联网 发布时间:2014-08-30
本文导语: C#窗体程序仅允许启动一次的解决方法,这个很有必要的,特别是在服务器上。 我们就遇到过这样的情况,两个终端登录,结果导致打开两个c#程序,而这个又是伪造数据的小工具,后果可想而知了。 实现方法: 在程序的main...
C#窗体程序仅允许启动一次的解决方法,这个很有必要的,特别是在服务器上。
我们就遇到过这样的情况,两个终端登录,结果导致打开两个c#程序,而这个又是伪造数据的小工具,后果可想而知了。
实现方法:
在程序的main函数中加入:
代码示例:
bool createdNew;
System.Threading.Mutex instance = new System.Threading.Mutex(true, "MutexName", out createdNew);
if (createdNew)
{
Application.Run(new LoginForm());
instance.ReleaseMutex();
}
else
{
Application.Exit();
}
System.Threading.Mutex instance = new System.Threading.Mutex(true, "MutexName", out createdNew);
if (createdNew)
{
Application.Run(new LoginForm());
instance.ReleaseMutex();
}
else
{
Application.Exit();
}
也可以这样写,一个窗体只能启动一次:
代码示例:
Form1 a = new Form1();
bool createdNew;
System.Threading.Mutex instance = new System.Threading.Mutex(true, "MutexName", out createdNew);
if (createdNew)
{
a.ShowDialog();
instance.ReleaseMutex();
}
else
{
a.Close();
}
bool createdNew;
System.Threading.Mutex instance = new System.Threading.Mutex(true, "MutexName", out createdNew);
if (createdNew)
{
a.ShowDialog();
instance.ReleaseMutex();
}
else
{
a.Close();
}