-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.cs
More file actions
29 lines (24 loc) · 1 KB
/
Program.cs
File metadata and controls
29 lines (24 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
using System.Windows.Forms;
using System.Threading;
namespace SimpleSvmManager;
static class Program
{
static Mutex mutex = new Mutex(true, "{SimpleSvmManager-Unique-Mutex-12345}");
[STAThread]
static void Main()
{
if (!mutex.WaitOne(TimeSpan.Zero, true))
{
MessageBox.Show("Program is already running in the background!\nPlease check the system tray icon at the bottom right.", "SimpleSvm", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
// Single-binary flow: no separate watchdog, cleanup is tied directly to this EXE.
AppDomain.CurrentDomain.UnhandledException += (s, e) => Form1.EmergencyCleanup();
Application.ThreadException += (s, e) => Form1.EmergencyCleanup();
AppDomain.CurrentDomain.ProcessExit += (s, e) => Form1.EmergencyCleanup();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}