• 二重启动判定(c#,vb.net)


    vb.net:

        Sub Main()

            Dim blnRet As Boolean

            ''二重起動ができません
            If PrevInstance() = True Then
                MessageBox.Show("二重起動ができません。", "二重起動", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Else
                    Application.Run(New CR01.FML.SYDA12)
            End If

        End Sub

      '----------------------------------------------------------------
        '-  @(f)
        '-
        '-  機    能: システムの二重起動が判定
        '-
        '-  返    値: True Or False          
        '-
        '-  引    数: objCheck
        '-
        '-  機能説明: システムの二重起動が判定
        '-
        '----------------------------------------------------------------
        Private Function PrevInstance() As Boolean
            If Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName).Length > 1 Then
                Return True
            Else
                Return False
            End If
        End Function

    c#:

            /// <summary>
            /// アプリケーションのメイン エントリ ポイントです。
            /// </summary>
            [STAThread]
            static void Main()
            {
                    if (PrevInstance())
                    {
                        MessageBox.Show("二重起動ができません", "二重起動", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        Application.EnableVisualStyles();
                        Application.SetCompatibleTextRenderingDefault(false);
                        Application.Run(new Form1());
                    }
               
            }
            /// <summary>
            /// システムの二重起動が判定
            /// </summary>
            /// <returns>True Or False</returns>
            private static bool PrevInstance()
            {
                if (Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName).Length > 1)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }

    或:

           /// <summary>
            /// システムの二重起動が判定
            /// </summary>
            /// <returns>True Or False</returns>
            private static bool PrevInstance()
            {
                bool bCreateNew;
                Mutex objMutex = new Mutex(true, Process.GetCurrentProcess().ProcessName, out bCreateNew);
                if (!bCreateNew)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }

  • 相关阅读:
    [转]Vetur can't find `tsconfig.json` or `jsconfig.json` in d:VueProjectsmyroute.
    疾病检验的概率的问题
    约束优化方法之拉格朗日乘子法与KKT条件
    GloVe与word2vec
    RNN、LSTM、GRU
    SVM 常见问题
    深度学习常用优化器算法Optimizer详解
    树模型-常见问题点
    leetcode 打家劫舍
    node 图片处理库 sharp
  • 原文地址:https://www.cnblogs.com/secying/p/2172246.html
Copyright © 2020-2023  润新知