How can I ensure a single instance of my application and to set the focus to it when attempting to open a second instance?
I tried:
public partial class Form1 : Form {
    [DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
    public static extern
    IntPtr FindWindow(String lpClassName, String lpWindowName);
    [DllImport("USER32.DLL")]
    public static extern
    Boolean SetForegroundWindow(IntPtr hWnd);
    private void Form1_Load(object sender, EventArgs e)
    {
        bool isRunning = Process.GetProcesses()
                                .Where(p => p.MainWindowTitle.Contains(Text))
                                .Count() > 1;
        if (isRunning)
        {
            FocusWindow(Text);
            Application.Exit();
        }
    }
    public static void FocusWindow(string title)
    {
        SetForegroundWindow(FindWindow(null, title));
    }
}
This is not focusing the application. How can I fix this?
 
     
     
     
     
     
    