c# 让一个窗口只能同时存在一个。 20
1个回答
展开全部
在Program.cs中对Main方法编程
[STAThread]
static void Main()
{
bool result;
// 实例化一个Mutex。请注意Mutex构造函数中的 out result参数!
var mutex = new System.Threading.Mutex(
true,
"UniqueAppId",
out result);
// 如果窗口已经运行,则构造函数中的 result 将为 false
if (!result)
{
MessageBox.Show("窗口程序已经运行!");
// 退出,禁止启动第二个窗口实例!
return;
}
Application.Run(new Form1());
// 这行代码非常重要!防止创建的Mutex被释放
GC.KeepAlive(mutex);
}
另外,也可以使用 System.Diagnostics.Process.GetProcessesByName(...)方法来检索本地计算机的进程名称。通过进程名称来判断是否窗口程序已经运行。但这个方法比较慢,性能差一些。
追问
我这里不止限制一个窗口只能打开一个, 你能帮我看看么?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询