C((zhi Win form)プログラムの多目的防止方法のまとめ【親測定】


本論文の実例は、C〓Winformプログラムが多目的な運転を防止する方法を実現することを述べている。皆さんに参考にしてあげます。具体的には以下の通りです。
1、Winform起動時に、同じプロセス名が存在するかどうかを検出し、プログラムのオープンを防ぐ。

static class Program
  {
    /// <summary>
    ///          。
    /// </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>
    ///          。
    /// </summary>
    [STAThread]
    static void Main()
    {
      string processName = Process.GetCurrentProcess().ProcessName;
      Process[] processes = Process.GetProcessesByName(processName);
      //         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>
    ///          。
    /// </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());
    }
}

C˜関連の内容についてもっと興味がある読者は、当駅のテーマを見ることができます。「C〓〓〓プログラムの設計のスレッドは技巧を使って総括します。」、「WinFormコントロールの使い方のまとめ」、「C〓中XMLファイルの操作技術のまとめ」、「C〓〓よくあるコントロールの使い方教程」、「C〓〓〓データ構造とアルゴリズム教程」、「Cハハハハ配列操作技術のまとめ」および「C铅対象プログラム設計入門教程
ここで述べたように、皆さんのC〓プログラムの設計に役に立ちます。