Search code examples
c#wpfsingle-instance

c# WPF Maintain Single Instance of loader


I have a loader.exe with Main() that loads the 'UI' in WPF, the thing is that I want only one instance of the loader.exe, how can I achieve it?

Is there a way a user clicks loader.exe it should check if an existing loader.exe is running and does nothing.

currently I have

loader.exe

with

main() 
....
..
Load UI
...

the loader has no idea what its loading etc so I can't do many things with the loader project...

Any help n code is highly appreciated

Thanks in advance.


Solution

  • We use the following C# code to detect if an application is already running:

    using System.Threading;
    
    string appSpecificGuid = "{007400FE-003D-00A5-AFFE-DA62E35CC1F5}";    
    bool exclusive;
    Mutex m = new Mutex(true, appSpecificGuid, out exclusive);
    if (exclusive) {
        // run
    } else {
        // already running
    }
    

    Regards, tamberg