在.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?
