У меня есть приложение 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).
Знаете ли вы, почему это происходит?