close

因為某些需求 有可能只想讓開發的win form 應用程式只執行一次

因此必須在程式進入時 去取得系統的執行駐列中 是否已經有相同的應用程式在執行
如果有 就必須結束

 

        '檢查程式是否已經開啟
        '取得目前程式的Process
        Dim thisProcess As Process = Process.GetCurrentProcess

 

        '以目前的process名稱去尋找目前電腦上所有執行的process
        '如果找到的數量超過 1 表示之前已經進行呼叫過
        Dim myProcess As Process() = Process.GetProcessesByName(thisProcess.ProcessName)
        If myProcess.Length > 1 Then

            '結束執行程式

            'MessageBox.Show("應用程式已開啟")

            'Return

            Exit Sub

        End If

  

但是....後來發現 不用這麼麻煩
因為如果是用VB.net開發..可以進行下列設定 (參考MSDN)


若要建立單一執行個體應用程式

  1. [方案總管] 中選取專案之後,請在 [專案] 功能表上,按一下 [屬性]
  2. 按一下 [應用程式] 索引標籤。
  3. 選取 [建立單一執行個體應用程式] 核取方塊。
若要建立多個執行個體應用程式
  1. [方案總管] 中選取專案之後,請在 [專案] 功能表上,按一下 [屬性]
  2. 按一下 [應用程式] 索引標籤。
  3. 清除 [建立單一執行個體應用程式] 核取方塊。

是的~所以上面搞那麼久 還艇呆的@@
不過如果是C#的使用者 就沒那麼幸運了
 
就得要自己寫Code 因為我之前是寫C#的 所以 這次遇到才很呆的把他轉成VB.net
沒想到...真是多此一舉
 
因此若有寫C#的朋友有需要 就請自己再把他轉回C#吧....

  

arrow
arrow
    全站熱搜

    ADOLPH 發表在 痞客邦 留言(3) 人氣()