private void ProcessCommandLineArguments(params string[] arguments) { if (Dispatcher == null || arguments == null || arguments.Length == 0) { return; } Dispatcher.Invoke(() => { foreach (var arg in arguments) { if (Path.GetInvalidPathChars().Any(c => arg.Contains(c))) { continue; // not a file name } if (!Path.HasExtension(arg) || Path.GetExtension(arg).ToLower() == ".exe" || !File.Exists(arg)) { continue; } if (Substrate.HandlePhysicalFile(arg)) { Substrate.LogOutput($"Handled file: {arg}"); } else { Substrate.LogOutput($"No handler found for file: {arg}"); } } MainWindow.Activate(); }); }
private void RecentsItem_Click(object sender, RoutedEventArgs e) { var fileName = (sender as MenuItem)?.Tag as string; Substrate.HandlePhysicalFile(fileName); }