Exemple #1
0
        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();
            });
        }
Exemple #2
0
        private void RecentsItem_Click(object sender, RoutedEventArgs e)
        {
            var fileName = (sender as MenuItem)?.Tag as string;

            Substrate.HandlePhysicalFile(fileName);
        }