Process.Start не запускает процесс, пока основное приложение не будет закрыто - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть приложение WPF. При нажатии на кнопку приложение «запускает» VLC, используя метод Process.Start(). Я протестировал это простое приложение на 2 компьютерах:

public partial class MainWindow : Window
{
    ...
    private void RunVlcButtonClick(object sender, RoutedEventArgs e)
    {
        string applicationFile = "vlc.exe";
        MainWindow.RunProcess(applicationFile);
    }
    private static Process RunProcess(string applicationFile, string arguments = "")
    {
        Console.WriteLine($"Run process: {applicationFile} {arguments}");
        Process process = MainWindow.GetProcess(applicationFile, arguments);
        bool result = process.Start();
        if (!result)
            Console.WriteLine($"Can't start {applicationFile} {arguments}");
        return process;
    }
    private static Process GetProcess(string applicationFile, string arguments)
    {
        ProcessStartInfo processStartInfo = new ProcessStartInfo(applicationFile, arguments);Process.StandardOutput StreamReader.
        processStartInfo.RedirectStandardOutput = true;
        processStartInfo.RedirectStandardError = true;
        processStartInfo.RedirectStandardInput = true;
        processStartInfo.UseShellExecute = false;
        processStartInfo.CreateNoWindow = true;

        Process cmdProcess = new Process();
        cmdProcess.StartInfo = processStartInfo;
        cmdProcess.EnableRaisingEvents = true;

        return cmdProcess;
    }
}

Как видите, в этом нет ничего нового или сложного. На первом компьютере работает нормально, , но на другом экземпляре VLC запускаются при закрытии основного приложения .

Первый компьютер - это рабочий стол Windows 10 Pro (сборка 16299).

Второй компьютер - ноутбук с операционной системой Windows 10 Enterprise (сборка 10240).

Знаете ли вы, почему это происходит?

...