In C# you can use a
Mutex:
public static void Main()
{
bool createdNew;
var mutex = new Mutex(false, "SingletonWinAppMutex", out createdNew);
if (!createdNew)
{
MessageBox.Show(@"You can only start one gadget instance !");
Application.Exit();
return;
}
...