zoukankan      html  css  js  c++  java
  • winform实现只能打开一次

    //在程序的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(); 
    } 
    //还可以写成以下形式,一个窗体只能启动一次 
    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(); 
    }
    private static bool HasRunning()
    {
        Process currentProcess = Process.GetCurrentProcess();
        Process[] processCollection = Process.GetProcessesByName(currentProcess.ProcessName);
        foreach (Process p in processCollection)
        {
            if (p.Id == currentProcess.Id)  //检查ID是否相同
            {
                return true;
            }
        }
        return false;
    }
    //预防程序启动多个
    bool newMutexCreated = true;
    using (new Mutex(true, Assembly.GetExecutingAssembly().FullName, out newMutexCreated))
    {
    if (!newMutexCreated)
    {
    MessageBox.Show("程序已启动!请不要启动多个程序");
    System.Environment.Exit(0);
    }
    else
    {
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new frmMain());
    }
    }
  • 相关阅读:
    第15次Scrum会议(10/27)【欢迎来怼】
    C语言--第三周作业评分和总结(5班)
    例行报告(20171020-20171025)
    MongoDB主从复制
    副本集
    MongoDB索引
    聚合框架
    MongoDB查询操作
    MongoDB增删改
    MongoDB基本安装
  • 原文地址:https://www.cnblogs.com/glzgc/p/7940397.html
Copyright © 2011-2022 走看看