JackettTray: check if it's already running

fixes #2181
This commit is contained in:
kaso17
2017-12-01 10:28:19 +01:00
parent 4eda11f79e
commit 0f5937b387

View File

@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
@@ -13,10 +14,22 @@ namespace JackettTray
/// </summary>
[STAThread]
static void Main()
{
var JacketTrayProcessName = Process.GetCurrentProcess().ProcessName;
var runningProcesses = Process.GetProcesses();
var currentSessionID = Process.GetCurrentProcess().SessionId;
var sameAsThisSession = runningProcesses.Where(p => p.SessionId == currentSessionID);
var sameAsThisSessionJacketTray = sameAsThisSession.Where(p => p.ProcessName == JacketTrayProcessName);
if (sameAsThisSessionJacketTray.Any())
{
MessageBox.Show("JackettTray is already running");
}
else
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Main());
}
}
}
}