Click here to Skip to main content
11,578,241 members (65,035 online)
Click here to Skip to main content

Tagged as

Run Only One Copy Of Application

, 6 Nov 2011 CPOL 9.2K 17
Rate this:
Please Sign up or sign in to vote.
Yet another way to this is as follows: using System;using System.Collections.Generic;using System.Windows.Forms;using System.Threading;namespace OnlyOneInstance{ static class Program { [STAThread] static void Main() { bool...
Yet another way to this is as follows:

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Threading;
namespace OnlyOneInstance
{
    static class Program
    {
       
        [STAThread]
        static void Main()
        {
            bool instantiated;
          /* If instantiated is true, this is the first instance of the application; else, another instance is running. */
            Mutex mutex = new Mutex(true, "UniqueID", out instantiated);
            if (!instantiated)
            {
                MessageBox.Show("Already Running");
               return;
            }
            Application.Run(new Form1());
            GC.KeepAlive(mutex);
        }
    }
}

Take a look there[^] to read the complete article.

To download the sample code, you can go here[^]
After downloading, go to bin directory and then debug OnlyOneInstance.exe file twice, you will see a message box which states Program Already Running.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

RaviRanjankr
Software Developer
India India
Microsoft Student Partner | CS Student | MCTS | CP MVP | Crazy Learner | Dreamer

An Indian, who loves his country, believes in freedom, He is an enthusiast Techie and crazy learner. He is passionate about Technologies and social media. He holds bachelor degree of CS in Information Technology and now pursuing Master degree in Computer Application.

He always excited and keen Interested in learning and sharing knowledge. He loves to write blog, learn new things, listen music, taking arts and Playing Games..

He keep himself on the desk of his imagination, hanging around with some inceptions.

You may also be interested in...

Comments and Discussions

 
GeneralMy vote of 5 Pin
Tejas_Vaishnav27-Jun-12 3:36
memberTejas_Vaishnav27-Jun-12 3:36 
GeneralRe: My vote of 5 Pin
RaviRanjankr27-Jun-12 4:34
mvpRaviRanjankr27-Jun-12 4:34 
GeneralRe: No the boolean can be either user or the person using code s... Pin
charles henington25-Apr-11 11:24
membercharles henington25-Apr-11 11:24 
GeneralRe: I'm confused. First you tell me both implementations are the... Pin
AspDotNetDev22-Apr-11 15:27
protectorAspDotNetDev22-Apr-11 15:27 
GeneralRe: A new instance of form will not run if value is set to true ... Pin
charles henington22-Apr-11 6:09
membercharles henington22-Apr-11 6:09 
GeneralRe: Notice the return statement that occurs before the Form1 con... Pin
AspDotNetDev19-Apr-11 12:03
protectorAspDotNetDev19-Apr-11 12:03 
Notice the return statement that occurs before the Form1 constructor gets a chance to run. Also, notice that the original tip has an Initialize function that accepts an instance of Form1. The difference between the two is that, in the case the app is already running, this alternate will not create an instance of Form1, whereas the original tip will create an instance of Form1.
GeneralReason for my vote of 5 Nice and simple. I like it. Pin
Collin Jasnoch7-Nov-11 11:02
memberCollin Jasnoch7-Nov-11 11:02 
GeneralRe: Thanks Collin :) Pin
RaviRanjankr7-Nov-11 19:16
mvpRaviRanjankr7-Nov-11 19:16 
GeneralReason for my vote of 3 prefer non null return values Pin
chrisKennedy19-May-11 13:58
memberchrisKennedy19-May-11 13:58 
GeneralReason for my vote of 5 its easy to use Pin
RK_DBA14-Apr-11 17:42
memberRK_DBA14-Apr-11 17:42 
GeneralReason for my vote of 5 good-good, very good. Pin
ashishkumar00823-Mar-11 19:51
memberashishkumar00823-Mar-11 19:51 
GeneralHmm... just a quick thought: regarding Windows 7 (and perhap... Pin
Nenad L.22-Mar-11 3:08
memberNenad L.22-Mar-11 3:08 
GeneralI think I prefer this technique over the original because th... Pin
AspDotNetDev19-Mar-11 18:15
protectorAspDotNetDev19-Mar-11 18:15 
GeneralRe: it's the exact same code just reworded To include as class f... Pin
charles henington19-Apr-11 11:36
membercharles henington19-Apr-11 11:36 
GeneralTrue that is another way to do the same thing. The reason th... Pin
charles henington19-Mar-11 6:37
membercharles henington19-Mar-11 6:37 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.150603.1 | Last Updated 6 Nov 2011
Article Copyright 2011 by RaviRanjankr
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid