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());
    }
    }
  • 相关阅读:
    字典的操作用法小总结
    HTTP Headers解析
    RStdio常用快捷键
    R语言数据类型
    数据科学实战手册(R+Python)书中引用资料网址
    ggplot2使用初探
    urllib2使用初探
    R语言以及RStdio的安装
    目标检测--Selective Search for Object Recognition(IJCV, 2013)
    关于Python的lambda
  • 原文地址:https://www.cnblogs.com/glzgc/p/7940397.html
Copyright © 2011-2022 走看看