在.net中制作单实例应用程序的最佳方法是什么?
可能重复:
创建单个实例应用程序的正确方法是什么?
在.NET中阻止给定应用程序的多个实例?
我检查是否存在另一个同名的进程? (如果用户没有权限这么做?)
将文件写入磁盘并在退出之前将其删除? (异常终止怎么办?)
这将是一个最佳做法?
您可以使用互斥锁。
bool firstInstance = true;
using (Mutex mutex = new Mutex(true, "MyApplicationName", out firstInstance))
{
if (firstInstance)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
else
{
// Another instance loaded
}
}
您可以使用Process
类的GetProcessesByName
方法查找另一个具有相同名称的正在运行的进程,如果找到该进程,则退出。
通常,一个有名的互斥锁效果最好。 这是一个链接到例子:http://www.iridescence.no/post/CreatingaSingleInstanceApplicationinC.aspx
链接地址: http://www.djcxy.com/p/51145.html上一篇: What is the best way to make a single instance application in .net?