From 3d10cc9635c10120ef4ad9f915c51480269cad1b Mon Sep 17 00:00:00 2001 From: Chris Kaczor Date: Mon, 20 Dec 2021 13:52:34 -0500 Subject: [PATCH] Clean up startup --- App.xaml.cs | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/App.xaml.cs b/App.xaml.cs index ee5548d..29c6fcf 100644 --- a/App.xaml.cs +++ b/App.xaml.cs @@ -3,6 +3,7 @@ using Common.IO; using Common.Wpf.Extensions; using Squirrel; using System; +using System.Reflection; using System.Threading.Tasks; using System.Windows; using System.Windows.Threading; @@ -35,6 +36,10 @@ namespace WorkIndicator _dispatcher = Dispatcher.CurrentDispatcher; + // Initialize the command line listener + _commandLineListener = new InterprocessMessageListener(Assembly.GetEntryAssembly().GetName().Name); + _commandLineListener.MessageReceived += HandleCommandLine; + // Initialize the tray icon TrayIcon.Initialize(); @@ -54,15 +59,16 @@ namespace WorkIndicator // If there is another copy then pass it the command line and exit if (_isolationHandle == null) { - InterprocessMessageSender.SendMessage(Environment.CommandLine); - Shutdown(); + try + { + InterprocessMessageSender.SendMessage(Environment.CommandLine); + } + catch { } + + _dispatcher.Invoke(Shutdown); return; } - // Initialize the command line listener - _commandLineListener = new InterprocessMessageListener(WorkIndicator.Properties.Resources.ApplicationName); - _commandLineListener.MessageReceived += HandleCommandLine; - // Set automatic start into the registry Current.SetStartWithWindows(Settings.Default.StartWithWindows); @@ -73,7 +79,7 @@ namespace WorkIndicator private void HandleCommandLine(object sender, InterprocessMessageListener.InterprocessMessageEventArgs e) { - + } private async Task CheckUpdate() @@ -98,7 +104,7 @@ namespace WorkIndicator TrayIcon.Dispose(); // Get rid of the isolation handle - _isolationHandle.Dispose(); + _isolationHandle?.Dispose(); base.OnExit(e); }