免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
Board logo

標題: 避免多開 [打印本頁]

作者: mhfo    時間: 2012-12-9 18:30     標題: 避免多開

1.在VB6裡我們可以使用App.PrevInstance判斷程式是否已經在執行,若已在執行就關閉。
Private Sub Form_Initialize()
    '攔截程式多開
    If App.PrevInstance Then End
End Sub


2.在.Net可以用 GetProcessesByName方法 取得目前執行程式的名稱,Process.GetCurrentProcess().ProcessName。

GetProcessesByName方法 回傳陣列,所以若有大於1就表示有兩個程式在執行。

首先先匯入System.Diagnostics命名空間
public bool PrevInstance()
{
    if (Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName).Length > 1)
    {
        return true;
    }
    else
    {
        return false;
    }
}


3.也可以使用 System.Threading.Mutex 互斥,禁止程式同時執行

需匯入System.Threading 命名空間
private bool IsMyMutex()
{
    bool IsExist;
    Mutex MyMutex = new Mutex(true, "OnlyRun", out  IsExist);
    if (IsExist)
    {
        return false;
    }
    else
    {
        return true;
    }




歡迎光臨 魚骨頭的雲端圖書館 (http://mhfo.hotbbs.info/) Powered by Discuz! 7.0.0