参考这个:How do I restrict my application to one instance? 
http://www.c-sharpcorner.com/FAQ/Create1InstanceAppSC.asp

解决方案 »

  1.   

    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; 
    }