Created
August 11, 2014 11:05
-
-
Save jjokela/2733d9fa9466db4f6b37 to your computer and use it in GitHub Desktop.
Winform single instance
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using Microsoft.VisualBasic.ApplicationServices; | |
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Windows.Forms; | |
namespace WinFormsSingleInstance | |
{ | |
static class Program | |
{ | |
/// <summary> | |
/// The main entry point for the application. | |
/// </summary> | |
[STAThread] | |
static void Main() | |
{ | |
Application.EnableVisualStyles(); | |
Application.SetCompatibleTextRenderingDefault(false); | |
SingleInstanceController controller = new SingleInstanceController(); | |
// args needed for controller.Run() | |
string[] args = Environment.GetCommandLineArgs(); | |
controller.Run(args); | |
} | |
// creates only single instance of application | |
public class SingleInstanceController : WindowsFormsApplicationBase | |
{ | |
public SingleInstanceController() | |
{ | |
IsSingleInstance = true; | |
StartupNextInstance += this_StartupNextInstance; | |
} | |
void this_StartupNextInstance(object sender, StartupNextInstanceEventArgs e) | |
{ | |
Form1 form = MainForm as Form1; //My derived form type | |
} | |
protected override void OnCreateMainForm() | |
{ | |
MainForm = new Form1(); | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment