private static void Main(string[] args) { Application.ThreadException += Application_ThreadException; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; StartTimer = Stopwatch.StartNew(); // For be able to show startup time CLI = new CLIManager(args); CLI.ParseCommands(); if (CheckAdminTasks()) return; // If ShareX opened just for be able to execute task as Admin IsMultiInstance = CLI.IsCommandExist("multi", "m"); if (IsMultiInstance || ApplicationInstanceManager.CreateSingleInstance(SingleInstanceCallback, args)) { using (Mutex mutex = new Mutex(false, "82E6AC09-0FEF-4390-AD9F-0DD3F5561EFC")) // Required for installer { Run(); } if (restarting) { Process.Start(Application.ExecutablePath); } } }
private static void Main(string[] args) { Application.ThreadException += Application_ThreadException; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; StartTimer = Stopwatch.StartNew(); // For be able to show startup time CLI = new CLIManager(args); CLI.ParseCommands(); #if STEAM if (CheckUninstall()) return; // Steam will run ShareX with -Uninstall when uninstalling #endif if (CheckAdminTasks()) return; // If ShareX opened just for be able to execute task as Admin UpdatePersonalPath(); DebugHelper.Init(LogsFilePath); IsMultiInstance = CLI.IsCommandExist("multi", "m"); using (ApplicationInstanceManager instanceManager = new ApplicationInstanceManager(!IsMultiInstance, args, SingleInstanceCallback)) { Run(); } if (restarting) { Process.Start(Application.ExecutablePath); } }