欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# Winform程序?qū)崿F(xiàn)防止多開的方法總結(jié)【親測】

 更新時間:2020年03月13日 10:14:23   作者:willingtolove  
這篇文章主要介紹了C# Winform程序?qū)崿F(xiàn)防止多開的方法,結(jié)合實例形式總結(jié)分析了C# Winform防止多開相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下

本文實例講述了C# Winform程序?qū)崿F(xiàn)防止多開的方法。分享給大家供大家參考,具體如下:

1、Winform啟動的時候,檢測是否存在同樣的進(jìn)程名,防止程序多開;

static class Program
  {
    /// <summary>
    /// 應(yīng)用程序的主入口點。
    /// </summary>
    [STAThread]
    static void Main()
    {
      Process[] processes = Process.GetProcesses();
      Process currentProcess = Process.GetCurrentProcess();
      bool processExist = false;
      foreach (Process p in processes)
      {
        if (p.ProcessName == currentProcess.ProcessName && p.Id != currentProcess.Id)
        {
          processExist = true;
        }
      }

      if (processExist)
      {
        Application.Exit();
      }
      else
      {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
      }
    }
  }

static class Program
  {
    /// <summary>
    /// 應(yīng)用程序的主入口點。
    /// </summary>
    [STAThread]
    static void Main()
    {
      string processName = Process.GetCurrentProcess().ProcessName;
      Process[] processes = Process.GetProcessesByName(processName);
      //如果該數(shù)組長度大于1,說明多次運行
      if (processes.Length > 1)
      {
        MessageBox.Show("程序已運行,不能再次打開!");
        Environment.Exit(1);
      }
      else
      {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
      }
    }
  }

2、利用Mutex互斥對象防止程序多開;

static class Program
{
    /// <summary>
    /// 應(yīng)用程序的主入口點。
    /// </summary>
    [STAThread]
    static void Main()
    {
      bool isAppRunning = false;
      Mutex mutex = new Mutex(true, System.Diagnostics.Process.GetCurrentProcess().ProcessName, out isAppRunning);
      if (!isAppRunning)
      {
        MessageBox.Show("程序已運行,不能再次打開!");
        Environment.Exit(1);
      }
      Application.EnableVisualStyles();
      Application.SetCompatibleTextRenderingDefault(false);
      Application.Run(new Form1());
    }
}

更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#程序設(shè)計之線程使用技巧總結(jié)》、《WinForm控件用法總結(jié)》、《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#數(shù)組操作技巧總結(jié)》及《C#面向?qū)ο蟪绦蛟O(shè)計入門教程

希望本文所述對大家C#程序設(shè)計有所幫助。

相關(guān)文章

最新評論