private async void Window_Loaded(object sender, RoutedEventArgs e) { this.Hide(); if (Environment.GetCommandLineArgs().Length <= 1) { MessageBox.Show($"This plugin must be launched by Stream Deck software!\nPlease install it properly by double clicking the .streamDeckPlugin file or find it in Stream Deck's More Actions.", "Flight Tracker", MessageBoxButton.OK, MessageBoxImage.Error); Application.Current.Shutdown(); return; } deckLogic.Initialize(); // Initialize SimConnect if (flightConnector is SimConnectFlightConnector simConnect) { simConnect.Closed += SimConnect_Closed; // Create an event handle for the WPF window to listen for SimConnect events Handle = new WindowInteropHelper(sender as Window).Handle; // Get handle of main WPF Window var HandleSource = HwndSource.FromHwnd(Handle); // Get source of handle in order to add event handlers to it HandleSource.AddHook(HandleSimConnectHook); //var viewModel = ServiceProvider.GetService<MainViewModel>(); try { logger.LogDebug("Start connecting..."); await InitializeSimConnectAsync(simConnect); } catch (BadImageFormatException ex) { logger.LogError(ex, "Cannot find SimConnect!"); var result = MessageBox.Show(this, "SimConnect not found. This component is needed to connect to Flight Simulator.\n" + "Please download SimConnect from\n\nhttps://events-storage.flighttracker.tech/downloads/SimConnect.zip\n\n" + "follow the ReadMe.txt in the zip file and try to start again.\n\nThis program will now exit.\n\nDo you want to open the SimConnect link above?", "Needed component is missing", MessageBoxButton.YesNo, MessageBoxImage.Error); if (result == MessageBoxResult.Yes) { try { Process.Start(new ProcessStartInfo { FileName = "https://events-storage.flighttracker.tech/downloads/SimConnect.zip", UseShellExecute = true }); } catch { } } App.Current.Shutdown(-1); } } }
private async void Window_Loaded(object sender, RoutedEventArgs e) { this.Hide(); deckLogic.Initialize(); // Initialize SimConnect if (flightConnector is SimConnectFlightConnector simConnect) { simConnect.Closed += SimConnect_Closed; // Create an event handle for the WPF window to listen for SimConnect events Handle = new WindowInteropHelper(sender as Window).Handle; // Get handle of main WPF Window var HandleSource = HwndSource.FromHwnd(Handle); // Get source of handle in order to add event handlers to it HandleSource.AddHook(simConnect.HandleSimConnectEvents); //var viewModel = ServiceProvider.GetService<MainViewModel>(); try { await InitializeSimConnectAsync(simConnect, true); } catch (BadImageFormatException ex) { logger.LogError(ex, "Cannot find SimConnect!"); var result = MessageBox.Show(this, "SimConnect not found. This component is needed to connect to Flight Simulator.\n" + "Please download SimConnect from\n\nhttps://events-storage.flighttracker.tech/downloads/SimConnect.zip\n\n" + "follow the ReadMe.txt in the zip file and try to start again.\n\nThis program will now exit.\n\nDo you want to open the SimConnect link above?", "Needed component is missing", MessageBoxButton.YesNo, MessageBoxImage.Error); if (result == MessageBoxResult.Yes) { try { Process.Start(new ProcessStartInfo { FileName = "https://events-storage.flighttracker.tech/downloads/SimConnect.zip", UseShellExecute = true }); } catch { } } App.Current.Shutdown(-1); } } }
private async void Window_Loaded(object sender, RoutedEventArgs e) { this.Hide(); if (Environment.GetCommandLineArgs().Length <= 1) { Application.Current.Shutdown(); return; } deckLogic.Initialize(); // Initialize SimConnect if (flightConnector is SimConnectFlightConnector simConnect) { simConnect.Closed += SimConnect_Closed; // Create an event handle for the WPF window to listen for SimConnect events Handle = new WindowInteropHelper(sender as Window).Handle; // Get handle of main WPF Window var HandleSource = HwndSource.FromHwnd(Handle); // Get source of handle in order to add event handlers to it HandleSource.AddHook(HandleSimConnectHook); //var viewModel = ServiceProvider.GetService<MainViewModel>(); try { logger.LogDebug("Start connecting..."); await InitializeSimConnectAsync(simConnect); } catch (BadImageFormatException ex) { logger.LogError(ex, "Cannot find SimConnect!"); var result = MessageBox.Show(this, "Please contact support", "SimConnect component is missing", MessageBoxButton.OK, MessageBoxImage.Error); App.Current.Shutdown(-1); } } }