一千萬個為什麽

搜索

如何使我的應用程序單身應用程序?

我有一個應用程序,但目前它不是一個單獨的應用程序。 我喜歡使它成為單例應用程序,以便其另一個實例不會在運行時退出。

如果可以這樣做,請回復一些示例代碼。

最佳答案

這是一些很好的示例應用程序。以下是一種可能的方法。

public static Process RunningInstance() 
{ 
    Process current = Process.GetCurrentProcess(); 
    Process[] processes = Process.GetProcessesByName (current.ProcessName); 

    //Loop through the running processes in with the same name 
    foreach (Process process in processes) 
    { 
        //Ignore the current process 
        if (process.Id != current.Id) 
        { 
            //Make sure that the process is running from the exe file. 
            if (Assembly.GetExecutingAssembly().Location.
                 Replace("/", "\\") == current.MainModule.FileName) 

            {  
                //Return the other process instance.  
                return process; 

            }  
        }  
    } 
    //No other instance was found, return null.  
    return null;  
}


if (MainForm.RunningInstance() != null)
{
    MessageBox.Show("Duplicate Instance");
    //TODO:
    //Your application logic for duplicate 
    //instances would go here.
}

許多其他可能的方式。請參閱示例了解替代方案。

第一個。

第二個。

第三名

轉載註明原文: 如何使我的應用程序單身應用程序?